summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands/CommandObjectThread.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-01-21 06:11:58 +0000
committerGreg Clayton <gclayton@apple.com>2011-01-21 06:11:58 +0000
commit481cef25dcbcd81a942d037004c573716a796c71 (patch)
treeb9dd6cec5215fff40e47fcda3525314e1f3b9aa5 /lldb/source/Commands/CommandObjectThread.cpp
parent47ff14b091ee66a4c5f159e7fb8714ca9a66d2f9 (diff)
downloadbcm5719-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.cpp10
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
OpenPOWER on IntegriCloud