[lldb-dev] Fwd: inability to set breakpoints in lldb

Todd Fiala tfiala at google.com
Thu Sep 18 13:42:51 PDT 2014


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, <jingham at apple.com> 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 <dsnyder at blueshiftinc.com>
> 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
> > lldb-dev at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>



-- 
Todd Fiala | Software Engineer | tfiala at google.com | 650-943-3180
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140918/b7aed533/attachment.html>


More information about the lldb-dev mailing list