diff options
| -rw-r--r-- | lldb/source/Core/Debugger.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp index 304ee119198..2c20a7b8553 100644 --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -503,12 +503,22 @@ Debugger::UpdateExecutionContext (ExecutionContext *override_context) { m_exe_ctx.thread = m_exe_ctx.process->GetThreadList().GetSelectedThread().get(); if (m_exe_ctx.thread == NULL) + { m_exe_ctx.thread = m_exe_ctx.process->GetThreadList().GetThreadAtIndex(0).get(); + // If we didn't have a selected thread, select one here. + if (m_exe_ctx.thread != NULL) + m_exe_ctx.process->GetThreadList().SetSelectedThreadByIndexID(0); + } if (m_exe_ctx.thread) { m_exe_ctx.frame = m_exe_ctx.thread->GetSelectedFrame().get(); if (m_exe_ctx.frame == NULL) + { m_exe_ctx.frame = m_exe_ctx.thread->GetStackFrameAtIndex (0).get(); + // If we didn't have a selected frame select one here. + if (m_exe_ctx.frame != NULL) + m_exe_ctx.thread->SetSelectedFrame(m_exe_ctx.frame); + } } } } |

