<div dir="ltr">So you mean debugger did not see "<span style="font-family:arial,sans-serif;font-size:12px">breakpoint step over</span>" is already completed, and thus performed it over and over again.<div><br></div>
<div>Thank you, Yao. I will follow this clue.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014/1/5 Yao Qi <span dir="ltr"><<a href="mailto:qiyaoltc@gmail.com" target="_blank">qiyaoltc@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
I am not a lldb hacker, but I'd like to give some cents from a general<br>
debugger's point of view.<br>
<div class="im"><br>
On 01/04/2014 09:49 PM, 杨勇勇 wrote:<br>
> Then the problem occurs, no matter I execute "step" or "continue", lldb<br>
> always sends "vCont;s:xxxx"<br>
><br>
> I debugged a little and found that plan stack holds at most top a<br>
> ThreadPlanStepOverBreakpoint object ever since I resumed from "main"<br>
> where a breakpoint is set. And worse, this ThreadPlanStepOverBreakpoint<br>
> object is never poped out even it is performed.<br>
<br>
</div>Program stops at main because the process hits the breakpoint. The<br>
original instruction replaced by breakpoint hasn't been executed.<br>
When "step" or "continue" is typed, debugger has to remove breakpoint<br>
temporarily, execute the instruction, and place breakpoint back again.<br>
This process is called breakpoint step over. After that, debugger<br>
can resume the process and wait for the new event.<br>
<br>
Looks like lldb thinks step over is not finished. Probably you should<br>
check the stop reply to "vCont;s", to see where process stopped. On<br>
some targets, PC is the address of the breakpoint, while on other<br>
targets, PC is the address of the instruction after breakpoint. Your<br>
debugger and remote stub should have a consensus.<br>
<br>
Hope it is helpful.<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>杨勇勇 (Yang Yong-Yong)
</div>