> On Nov 25, 2015, at 1:05 PM, Philippe Lavoie <[email protected]> 
> wrote:
> 
> Sorry for the delay, I revisited the issue today.
> 
> It is causing a problem for our architecture which does not support single 
> instruction stepping. We emulate it with breakpoints and a processor 
> exception on branch taken.
> 
> For example:
> 
> When we step over a line with a breakpoint, our flavor of StepOverRange 
> inserts a breakpoint at the next likely instruction and enables processor 
> branch exception. LLDB will queue StepOverRange and StepOverBreakpoint plans.
> 
> The problem occurs when we stop on the breakpoint inserted by StepOverRange. 
> ThreadPlanStepOverBreakpoint::DoPlanExplainsStop will see the stop reason is 
> eStopReasonBreakpoint and ignore the breakpoint. Then StepOverRange's 
> DoPlanExplainsStop will claim it and ThreadPlanStepOverBreakpoint gets 
> discarded and does not reinsert the original breakpoint.
> 
> Is there a way to make our scenario fit in the default thread plans?
> Maybe check the breakpoint kind of all 'step' breakpoints and set the 
> thread's StopReason to Trace?
> 
> -Philippe
> 
> From: [email protected] [[email protected]]
> Sent: Monday, October 05, 2015 5:26 PM
> To: Philippe Lavoie
> Cc: [email protected]
> Subject: Re: [lldb-dev] ThreadPlanStepOverBreakpoint behavior
> 
> That is intended behavior.  MischiefManaged is called when an stop propagates 
> to that plan, and it needs to decide whether it is done or not.  That’s not 
> what happens when somebody decides to discard the plan.  WillPop will get 
> called if you need to do some cleanup when the plan gets popped.
> 
> Was this causing some problem?
> 
> Jim
> 
>> On Sep 25, 2015, at 1:51 PM, Philippe Lavoie via lldb-dev 
>> <[email protected]> wrote:
>> 
>> 
>> I noticed that when a ThreadPlanStepOverBreakpoint is discarded (as opposed 
>> to being popped from the stack), MischiefManaged() is not called and the 
>> disabled breakpoint is not re-enabled.
>> 
>> Is this the intended behavior ?
>> 
>> -Philippe
>> _______________________________________________
>> lldb-dev mailing list
>> [email protected]
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to