[lldb-dev] Creating a breakpoint on a target with no process

jingham at apple.com jingham at apple.com
Tue Dec 2 13:07:34 PST 2014


It is the responsibility of the dynamic loader plugin to tell the breakpoints to re-scan for new locations when shared libraries get added to the process.  You should do this by collecting a list of the added libraries, and calling:

m_process->GetTarget().ModulesDidLoad(added_list);

How are you adding new modules as they get loaded?

Jim


> On Dec 2, 2014, at 12:45 PM, Zachary Turner <zturner at google.com> wrote:
> 
> In my effort to get tests working on Windows, I've run across an issue with test\expression_command\timeout\TestCallWithTimeout.py :: TestCallWithTimeout.ExprCommandWithTimeoutsTestCase
> 
> This test creates a target and immediately puts a breakpoint on it before attempting to launch the process.  Is this something that is supposed to work?  BreakpointLocation::ResolveBreakpointSite() contains this line:
> 
>     Process *process = m_owner.GetTarget().GetProcessSP().get();
>     if (process == NULL)
>         return false;
> 
> So naturally the breakpoint site cannot be resolved because there is no process.  The end result of this is that this breakpoint never gets hit and the test fails.
> 
> Presumably this test works on other platforms, so any tips as to where I should look to track down this bug on Windows?
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev





More information about the lldb-dev mailing list