diff options
| author | Luboš Luňák <l.lunak@centrum.cz> | 2022-04-03 20:19:10 +0200 |
|---|---|---|
| committer | Luboš Luňák <l.lunak@centrum.cz> | 2022-04-05 08:29:13 +0200 |
| commit | 76bc7729208976e6ff6bc28b08e460d97cab5bb3 (patch) | |
| tree | ed9acde9e49bf11745079e08be40eb51c10c8860 /lldb/source/Core/IOHandlerCursesGUI.cpp | |
| parent | f90fa55569fc8fc3b44512823ed9e2a0d1243826 (diff) | |
[lldb][gui] make 'step out' step out of the selected frame
Differential Revision: https://reviews.llvm.org/D123001
Diffstat (limited to 'lldb/source/Core/IOHandlerCursesGUI.cpp')
| -rw-r--r-- | lldb/source/Core/IOHandlerCursesGUI.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lldb/source/Core/IOHandlerCursesGUI.cpp b/lldb/source/Core/IOHandlerCursesGUI.cpp index 7fc23292983f..caf88c7fdf37 100644 --- a/lldb/source/Core/IOHandlerCursesGUI.cpp +++ b/lldb/source/Core/IOHandlerCursesGUI.cpp @@ -6402,8 +6402,11 @@ public: if (exe_ctx.HasThreadScope()) { Process *process = exe_ctx.GetProcessPtr(); if (process && process->IsAlive() && - StateIsStoppedState(process->GetState(), true)) - exe_ctx.GetThreadRef().StepOut(); + StateIsStoppedState(process->GetState(), true)) { + Thread *thread = exe_ctx.GetThreadPtr(); + uint32_t frame_idx = thread->GetSelectedFrameIndex(); + exe_ctx.GetThreadRef().StepOut(frame_idx); + } } } return MenuActionResult::Handled; @@ -7361,7 +7364,9 @@ public: m_debugger.GetCommandInterpreter().GetExecutionContext(); if (exe_ctx.HasThreadScope() && StateIsStoppedState(exe_ctx.GetProcessRef().GetState(), true)) { - exe_ctx.GetThreadRef().StepOut(); + Thread *thread = exe_ctx.GetThreadPtr(); + uint32_t frame_idx = thread->GetSelectedFrameIndex(); + exe_ctx.GetThreadRef().StepOut(frame_idx); } } return eKeyHandled; |
