diff options
-rw-r--r-- | lldb/source/Commands/CommandObjectExpression.cpp | 31 | ||||
-rw-r--r-- | lldb/source/Target/Process.cpp | 6 |
2 files changed, 7 insertions, 30 deletions
diff --git a/lldb/source/Commands/CommandObjectExpression.cpp b/lldb/source/Commands/CommandObjectExpression.cpp index 1d31c67ccd1..da472d17331 100644 --- a/lldb/source/Commands/CommandObjectExpression.cpp +++ b/lldb/source/Commands/CommandObjectExpression.cpp @@ -345,36 +345,7 @@ CommandObjectExpression::EvaluateExpression exe_ctx.GetFramePtr(), result_valobj_sp, options); - - if ((exe_results == eExecutionInterrupted && !m_command_options.unwind_on_error) - ||(exe_results == eExecutionHitBreakpoint && !m_command_options.ignore_breakpoints)) - { - uint32_t start_frame = 0; - uint32_t num_frames = 1; - uint32_t num_frames_with_source = 0; - Thread *thread = exe_ctx.GetThreadPtr(); - if (thread) - { - thread->GetStatus (result->GetOutputStream(), - start_frame, - num_frames, - num_frames_with_source); - } - else - { - Process *process = exe_ctx.GetProcessPtr(); - if (process) - { - bool only_threads_with_stop_reason = true; - process->GetThreadStatus (result->GetOutputStream(), - only_threads_with_stop_reason, - start_frame, - num_frames, - num_frames_with_source); - } - } - } - + if (result_valobj_sp) { Format format = m_format_options.GetFormat(); diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index 4cdcc28d144..d2aac468c2b 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -5030,11 +5030,17 @@ Process::RunThreadPlan (ExecutionContext &exe_ctx, if (log) log->Printf ("Process::RunThreadPlan() stopped for breakpoint: %s.", stop_info_sp->GetDescription()); return_value = eExecutionHitBreakpoint; + if (!ignore_breakpoints) + { + event_to_broadcast_sp = event_sp; + } } else { if (log) log->PutCString ("Process::RunThreadPlan(): thread plan didn't successfully complete."); + if (!unwind_on_error) + event_to_broadcast_sp = event_sp; return_value = eExecutionInterrupted; } } |