[lldb-dev] Problem unwinding from inside of a CRT function

jingham at apple.com jingham at apple.com
Thu Jan 15 16:36:39 PST 2015


> On Jan 15, 2015, at 4:18 PM, Zachary Turner <zturner at google.com> wrote:
> 
> Which is unfortunate, because it seems to be needed even for basic stepping to work, like step over.  Originally I was just trying to implement stepping, and that's how I ran into this issue.  So that brings me to a related question.  Why is step over as complicated as it is?  It seems to me like step over can be implemented by disassembling 1 opcode, adding the size of the opcode to the current pc, and having the ThreadPlan::ShouldStop always return false unless the pc is equal to old_pc + size_of_opcode.
> 

You are describing "thread step-inst".  That should pretty much always work regardless of unwinder, etc.

Source step over, as Jason said, is much more complicated.

Jim



More information about the lldb-dev mailing list