diff options
author | jimingham <jingham@apple.com> | 2024-07-03 10:45:20 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-03 10:45:20 -0700 |
commit | 845dee36ba4161df153ba05009cea615e20eda5a (patch) | |
tree | d222daf105b1ddb3196be682a786ef3be6da716e /lldb/source/API/SBThread.cpp | |
parent | 77d131eddb6ca9060c844fae9cb78779fa70c8f0 (diff) | |
download | llvm-845dee36ba4161df153ba05009cea615e20eda5a.zip llvm-845dee36ba4161df153ba05009cea615e20eda5a.tar.gz llvm-845dee36ba4161df153ba05009cea615e20eda5a.tar.bz2 |
SBThread::StepInstruction shouldn't discard other plans (#97493)
This was just a typo, none of the external execution control functions
should discard other plans. In particular, it means if you stop in a
hand-called function and step an instruction, the function call thread
plan gets unshipped, popping all the function call frames.
I also added a test that asserts the correct behavior. I tested all the
stepping operations even though only StepInstruction was wrong.
Diffstat (limited to 'lldb/source/API/SBThread.cpp')
-rw-r--r-- | lldb/source/API/SBThread.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/API/SBThread.cpp b/lldb/source/API/SBThread.cpp index ac3e2cd..5364336 100644 --- a/lldb/source/API/SBThread.cpp +++ b/lldb/source/API/SBThread.cpp @@ -722,7 +722,7 @@ void SBThread::StepInstruction(bool step_over, SBError &error) { Thread *thread = exe_ctx.GetThreadPtr(); Status new_plan_status; ThreadPlanSP new_plan_sp(thread->QueueThreadPlanForStepSingleInstruction( - step_over, true, true, new_plan_status)); + step_over, false, true, new_plan_status)); if (new_plan_status.Success()) error = ResumeNewPlan(exe_ctx, new_plan_sp.get()); |