what if the logic was changed to do what it does now, but if the "set breakpoint" returns 0 locations, then try again with target.inline-breakpoint-strategy set?
On Thu, Sep 18, 2014 at 3:41 PM, Greg Clayton <[email protected]> wrote: > Because it vastly improves performance for large Objective C and C++ > projects when setting file and line breakpoints. See our troubleshooting > page for more details: > > http://lldb.llvm.org/troubleshooting.html > > > > On Sep 18, 2014, at 3:38 PM, Doug Snyder <[email protected]> > wrote: > > > > adding that setting to .lldbinit appears to fix all three cases (ccache, > preprocess and include). this was tested in xcode with individual test > cases that i created. > > > > i wonder why that setting is not on by default? > > > > > > > > > > On Thu, Sep 18, 2014 at 1:42 PM, Todd Fiala <[email protected]> wrote: > > Hey Doug, > > > > Can you give Jim's suggestin a try and see if that affects anything? > > > > Thanks, > > Todd > > > > On Wed, Sep 17, 2014 at 2:39 PM, <[email protected]> wrote: > > Are any of these bugs fixed by setting: > > > > settings set target.inline-breakpoint-strategy always > > > > in your .lldbinit file? > > > > Jim > > > > > On Sep 17, 2014, at 10:34 AM, Doug Snyder <[email protected]> > wrote: > > > > > > i have been investigating several lldb bugs that seem to be related. > > > > > > bug 19974 describes lldb's inability to set a breakpoint in an > included file and bug 20297 describes lldb's inability to set a breakpoint > when using ccache. i have also found a similar case where lldb is unable > to set a breakpoint when a separate preprocess step has been used before > compiling. > > > > > > note: ccache uses a preprocess step to determine which source files > need to be rebuilt so using ccache could be considered the same as using a > separate preprocess step. > > > > > > all three cases are similar in that the c/c++ preprocessor is involved > and alters the way symbols are added to the object files. > > > > > > the following attached files are write-ups of some of my findings for > the different cases > > > ccache - "lldb and ccache.rtf" > > > preprocessed files - "lldb and preprocessed files.rtf" > > > include files - "lldb and include files.rtf" > > > > > > all three cases generate the inability to set breakpoints > > > > > > on the Mac, all three cases create object files with "SOL" symbols for > preprocessed or included source files. > > > > > > the following attached file describes the object files created for the > preprocessed test case on the Mac: > > > "preprocessed object files.rtf" > > > > > > on ubuntu, it is not as obvious to spot differences in the object > files when examining object files that that lldb is unable to set > breakpoints. > > > > > > lldb is unable to set breakpoints on both OSX and ubuntu for all three > cases. gdb is able to set breakpoints on both OSX and ubuntu for all > three cases. > > > > > > using XCode, i have tried a couple different ways of stepping through > lldb to see why it is having trouble setting breakpoints. > > > > > > From top-down, i have traced setting breakpoints in Breakpoint.cpp > down thru BreakpointResolver.cpp. The intended source file does not seem > to be in the list of compute units, but i don't know why. > > > > > > From bottom-up, i have tried to follow how ObjectFileMachO.cpp parses > symbols, but i'm not sure that this is the correct place to look. Also, > since this is both a MachO problem and an Elf problem, the problem isn't > likely to be here anyway. > > > > > > Does anyone familiar with lldb's architecture have any ideas where in > the code i should be looking or have a plan-of-attack to suggest? > > > > > > thanks, > > > doug > > > > > > > > > > > > > > > <lldb and ccache.rtf><lldb and preprocessed files.rtf><preprocessed > object files.rtf><lldb and include > files.rtf>_______________________________________________ > > > lldb-dev mailing list > > > [email protected] > > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > > > _______________________________________________ > > lldb-dev mailing list > > [email protected] > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > > > > > > > -- > > Todd Fiala | Software Engineer | [email protected] | > 650-943-3180 > > > > > > _______________________________________________ > > lldb-dev mailing list > > [email protected] > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > >
_______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
