[Lldb-commits] [PATCH] D74136: [LLDB] WIP: Follow DW_AT_decl_file when setting breakpoint
Konrad Wilhelm Kleine via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Jun 25 05:15:03 PDT 2020
kwk updated this revision to Diff 273307.
kwk added a comment.
- bring back logic to keep a symbol context when a function passes and add a comment as Jan suggested
- remove test from scripted resolver that calls SearchFilterByModulesAndSupportFiles::AddressPasses
- before the test checked that a non existing file doesn't cause setting a breakpoint location
- the logic in AddressPasses before was to identify the CU of a symbol context and check if it's file is in the list of files that are allowed to pass. We agreed to change this logic so that not only CU's are checked but also files in which a function is declared. SearchFilterByModulesAndSupportFiles::FunctionPasses now does exactly that but it is not called from the BreakPointResolverScripted class, only from BreakpointResolverName.
- It is an open question how to deal with this and I hope Jim can help here.
- Shall we maybe take another file from the SymbolContext to see if we can filter by that in AddressPasses? Here's a dump of the filter context for the removed test:
0x00007ffda14d94a0: SymbolContext
Module = 0x0000563169c60780 /opt/notnfs/kkleine/llvm/build/lldb-test-build.noindex/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.test_scripted_resolver/a.out
CompileUnit = 0x000056316a04c310 {0000000000000000} /opt/notnfs/kkleine/llvm/lldb/test/API/functionalities/breakpoint/scripted_bkpt/main.c
Function = 0x000056316a048c40 {7fffffff00000043} break_on_me, address-range = a.out[0x0000000000401150-0x0000000000401167)
Type = 0x56316a0220d0: Type{0x7fffffff00000043} , name = "break_on_me", decl = main.c:10, compiler_type = 0x000056316a0cbe80 void (void)
Block = 0x000056316a048c78 {7fffffff00000043}
LineEntry = a.out[0x0000000000401150-0x0000000000401154), file = /opt/notnfs/kkleine/llvm/lldb/test/API/functionalities/breakpoint/scripted_bkpt/main.c, line = 11, is_start_of_statement = TRUE
Symbol = 0x000056316a037248
Variable = 0x0000000000000000
- rename var
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74136/new/
https://reviews.llvm.org/D74136
Files:
lldb/include/lldb/Core/SearchFilter.h
lldb/include/lldb/Target/Target.h
lldb/source/Breakpoint/BreakpointResolverName.cpp
lldb/source/Core/SearchFilter.cpp
lldb/source/Target/Target.cpp
lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
lldb/test/Shell/Breakpoint/Inputs/search-support-files-func.cpp
lldb/test/Shell/Breakpoint/Inputs/search-support-files.cpp
lldb/test/Shell/Breakpoint/Inputs/search-support-files.h
lldb/test/Shell/Breakpoint/search-support-files.test
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74136.273307.patch
Type: text/x-patch
Size: 23551 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200625/e1f2351a/attachment-0001.bin>
More information about the lldb-commits
mailing list