Hi,
While experimenting with my new lldb plugin, I placed a breakpoint inside a
shared object (using file:line / name ) which is loaded via 'dlopen'
My stratey so far for breakpoints was:
- Create debugger
- Create the target
- Launch target with the flag 'lldb::eLaunchFlagStopAtEntry'
- When stopped on first entry, all breakpoints are being applied using
m_target.BreakpointCreateByName / BreakpointCreateByLocation
- The plugin then queries lldb to get a complete list of breakpoints
andupdate the UI (some breakpoint are resolved to multiple locations, moved
if they were placed on a comment etc) like this:
int num = m_target.GetNumBreakpoints();
for(int i=0; i<num; ++i) {
lldb::SBBreakpoint bp = m_target.GetBreakpointAtIndex(i);
...
}
At this point, I can see that the breakpoints I have applied in the shared
libraries were not applied. So my question is:
Who should be responsible for the "pending" breakpoints? Is it done
automatically by lldb? or should I keep a list of un-applied breakpoints
and try to re-apply them later on?
If the later is the case, can the plugin be notified when a shared library
is loaded? (this seems like a good candidate for trying to re-apply pending
breakpoints)
Thanks,
--
Eran Ifrah
Author of codelite, a cross platform open source C/C++ IDE:
http://www.codelite.org
wxCrafter, a wxWidgets RAD: http://wxcrafter.codelite.org
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev