diff options
author | Greg Clayton <gclayton@apple.com> | 2011-01-21 06:11:58 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2011-01-21 06:11:58 +0000 |
commit | 481cef25dcbcd81a942d037004c573716a796c71 (patch) | |
tree | b9dd6cec5215fff40e47fcda3525314e1f3b9aa5 /lldb/source/Commands/CommandObjectThread.cpp | |
parent | 47ff14b091ee66a4c5f159e7fb8714ca9a66d2f9 (diff) | |
download | bcm5719-llvm-481cef25dcbcd81a942d037004c573716a796c71.tar.gz bcm5719-llvm-481cef25dcbcd81a942d037004c573716a796c71.zip |
Added support for stepping out of a frame. If you have 10 stack frames, and you
select frame #3, you can then do a step out and be able to go directly to the
frame above frame #3!
Added StepOverUntil and StepOutOfFrame to the SBThread API to allow more powerful
stepping.
llvm-svn: 123970
Diffstat (limited to 'lldb/source/Commands/CommandObjectThread.cpp')
-rw-r--r-- | lldb/source/Commands/CommandObjectThread.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp index 01708a4e428..5cde70efa1b 100644 --- a/lldb/source/Commands/CommandObjectThread.cpp +++ b/lldb/source/Commands/CommandObjectThread.cpp @@ -729,7 +729,13 @@ public: { ThreadPlan *new_plan; - new_plan = thread->QueueThreadPlanForStepOut (abort_other_plans, NULL, false, bool_stop_other_threads, eVoteYes, eVoteNoOpinion); + new_plan = thread->QueueThreadPlanForStepOut (abort_other_plans, + NULL, + false, + bool_stop_other_threads, + eVoteYes, + eVoteNoOpinion, + thread->GetSelectedFrameIndex()); // FIXME: This will keep the step plan on the thread stack when we hit a breakpoint while stepping over. // Maybe there should be a parameter to control this. new_plan->SetOkayToDiscard(false); @@ -1208,7 +1214,7 @@ public: index_ptr++; } - new_plan = thread->QueueThreadPlanForStepUntil (abort_other_plans, &address_list.front(), address_list.size(), m_options.m_stop_others); + new_plan = thread->QueueThreadPlanForStepUntil (abort_other_plans, &address_list.front(), address_list.size(), m_options.m_stop_others, thread->GetSelectedFrameIndex ()); new_plan->SetOkayToDiscard(false); } else |