[lldb-dev] "step" threading issues
Greg Clayton
gclayton at apple.com
Mon Apr 29 09:23:38 PDT 2013
You should only get one stopped event unless you are hitting a breakpoint that continues your target. In this case the eStateStopped event would be a "restarted" event which can be found out by:
static bool
SBProcess::GetRestartedFromEvent (const lldb::SBEvent &event);
This means the program stopped but restarted automatically. You should never see two eStateStopped events in a row, if you are, please try and reproduce on a Mac target and file a bug.
For step into, the stop reason should always be eStopReasonPlanComplete.
On Apr 29, 2013, at 7:33 AM, Carlo Kok <ck at remobjects.com> wrote:
> Op 29-4-2013 15:43, Carlo Kok schreef:
>> Op 29-4-2013 15:40, Carlo Kok schreef:
>>> I'm calling when my users want to "step into" a function:
>>>
>>>
>>> SBThread th= self->m_process.GetSelectedThread();
>>> th.StepInto();
>>>
>>> When it's done I get notified in the way of my process listener:
>>> case SBProcess::eBroadcastBitStateChanged:
>>> int n = self->m_process.GetStateFromEvent (data);
>>> where n is eStateStopped, however at this point when I read :
>>>
>>> m_process.GetSelectedThread().GetStopReason() it returns eStopReasonNone
>>> half the time, but never when I'm debugging. This is a simple threaded
>>> all. How should I find out if ti returned from a plan?
>>
>> I have to add to this that it ONLY happens for Step Into for some reason.
>>
>
> And an addition to that: I get several eStateStopped events in sequence when this happens.
>
> _______________________________________________
> 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