[lldb-dev] What is ThreadPlan used for?

杨勇勇 triple.yang at gmail.com
Sun Jan 5 17:37:29 PST 2014


So you mean debugger did not see "breakpoint step over" is already
completed, and thus performed it over and over again.

Thank you, Yao. I will follow this clue.


2014/1/5 Yao Qi <qiyaoltc at gmail.com>

> Hi,
> I am not a lldb hacker, but I'd like to give some cents from a general
> debugger's point of view.
>
> On 01/04/2014 09:49 PM, 杨勇勇 wrote:
> > Then the problem occurs, no matter I execute "step" or "continue", lldb
> > always sends "vCont;s:xxxx"
> >
> > I debugged a little and found that plan stack holds at most top a
> > ThreadPlanStepOverBreakpoint object ever since I resumed from "main"
> > where a breakpoint is set. And worse, this ThreadPlanStepOverBreakpoint
> > object is never poped out even it is performed.
>
> Program stops at main because the process hits the breakpoint.  The
> original instruction replaced by breakpoint hasn't been executed.
> When "step" or "continue" is typed, debugger has to remove breakpoint
> temporarily, execute the instruction, and place breakpoint back again.
> This process is called breakpoint step over.  After that, debugger
> can resume the process and wait for the new event.
>
> Looks like lldb thinks step over is not finished.  Probably you should
> check the stop reply to "vCont;s", to see where process stopped.  On
> some targets, PC is the address of the breakpoint, while on other
> targets, PC is the address of the instruction after breakpoint.  Your
> debugger and remote stub should have a consensus.
>
> Hope it is helpful.
>
>


-- 
杨勇勇 (Yang Yong-Yong)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140106/cd7ed04e/attachment.html>


More information about the lldb-dev mailing list