<div dir="ltr">Hey Doug,<div><br></div><div>Can you give Jim's suggestin a try and see if that affects anything?</div><div><br></div><div>Thanks,</div><div>Todd</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 17, 2014 at 2:39 PM, <span dir="ltr"><<a href="mailto:jingham@apple.com" target="_blank">jingham@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Are any of these bugs fixed by setting:<br>
<br>
settings set target.inline-breakpoint-strategy always<br>
<br>
in your .lldbinit file?<br>
<br>
Jim<br>
<div><div class="h5"><br>
> On Sep 17, 2014, at 10:34 AM, Doug Snyder <<a href="mailto:dsnyder@blueshiftinc.com">dsnyder@blueshiftinc.com</a>> wrote:<br>
><br>
> i have been investigating several lldb bugs that seem to be related.<br>
><br>
> 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.<br>
><br>
> 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.<br>
><br>
> all three cases are similar in that the c/c++ preprocessor is involved and alters the way symbols are added to the object files.<br>
><br>
> the following attached files are write-ups of some of my findings for the different cases<br>
> ccache - "lldb and ccache.rtf"<br>
> preprocessed files - "lldb and preprocessed files.rtf"<br>
> include files - "lldb and include files.rtf"<br>
><br>
> all three cases generate the inability to set breakpoints<br>
><br>
> on the Mac, all three cases create object files with "SOL" symbols for preprocessed or included source files.<br>
><br>
> the following attached file describes the object files created for the preprocessed test case on the Mac:<br>
> "preprocessed object files.rtf"<br>
><br>
> 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.<br>
><br>
> 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.<br>
><br>
> using XCode, i have tried a couple different ways of stepping through lldb to see why it is having trouble setting breakpoints.<br>
><br>
> 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.<br>
><br>
> 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.<br>
><br>
> 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?<br>
><br>
> thanks,<br>
> doug<br>
><br>
><br>
><br>
><br>
</div></div>> <lldb and ccache.rtf><lldb and preprocessed files.rtf><preprocessed object files.rtf><lldb and include files.rtf>_______________________________________________<br>
<div class="HOEnZb"><div class="h5">> lldb-dev mailing list<br>
> <a href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
<br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small"><td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>