<div dir="ltr">Hi Jim,<div><br></div><div>Cool! Thanks a lot! </div><div>Your analysis is correct.</div><div>Let me try you solution!</div><div><br></div><div>Thanks</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 17, 2015 at 11:29 AM,  <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"><div class="HOEnZb"><div class="h5"><br>
> On Feb 16, 2015, at 11:01 PM, zephyr zhao <<a href="mailto:zephyr.git@gmail.com">zephyr.git@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I'm working on a GUI frontend of LLDB which is based on Python 2.7 and Qt 4:<br>
> <a href="https://github.com/c0deforfun/LLL" target="_blank">https://github.com/c0deforfun/LLL</a><br>
><br>
> Screenshot of current status:<br>
> <a href="https://raw.githubusercontent.com/c0deforfun/LLL/master/docs/screenshot.png" target="_blank">https://raw.githubusercontent.com/c0deforfun/LLL/master/docs/screenshot.png</a><br>
><br>
> There're still a lot of works to do. It would be really helpful if someone could join the project.<br>
> Any suggestions or comments will be appreciated too!<br>
><br>
> Btw, I have a question:<br>
> when users set a breakpoint at some line, SBBreakpointLocation may return a different line No. My current workaround is grep it from SBBreakpoint.GetDescription()<br>
<br>
</div></div>This can happen when a breakpoint is set on a line that doesn't generate any code.  Then the breakpoint will be moved to the nearest line afterwards that does generate code.  For instance, setting a breakpoint on some code that is in a:<br>
<br>
#if 0<br>
<br>
#endif<br>
<br>
block will cause it to be moved to the line after the #if 0'ed code.  If it is happening for you in code that looks like it is actually getting executed however, then that's a bug (most likely a bug in the line table information, but it could be an lldb bug as well.)<br>
<br>
You don't need to grep GetDescription for the line number, however.  Just get the Location's SBAddress, (SBBreakpointLocation::GetAddress(), then get the SBSymbolContext from the address (SBAddress::GetSymbolContext(lldb.eSymbolContextEverything)).  The symbol context has a SBLineEntry (SBSymbolContext::GetLineEntry()) and that has the file spec & line number.<br>
<br>
Jim<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
><br>
> Thanks,<br>
> C0deforfun<br>
><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>
<br>
</div></div></blockquote></div><br></div>