diff options
author | Sean Callanan <scallanan@apple.com> | 2013-07-30 19:54:09 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2013-07-30 19:54:09 +0000 |
commit | 01711aa1b451159a31d6423ee8919a3a426b4984 (patch) | |
tree | 6cbb59431aef12bc73cc1fffcd74c8998d6644b7 | |
parent | f3b05d6372182528f3bb11982d9c68a1e431fe9f (diff) | |
download | lldb-01711aa1b451159a31d6423ee8919a3a426b4984.tar.gz |
Send a stop event when an expression stops at a breakpoint
in an expression and doesn't ignore the stop.
Patch by Jim Ingham.
<rdar://problem/14583884>
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187434 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | source/Commands/CommandObjectExpression.cpp | 31 | ||||
-rw-r--r-- | source/Target/Process.cpp | 6 |
2 files changed, 7 insertions, 30 deletions
diff --git a/source/Commands/CommandObjectExpression.cpp b/source/Commands/CommandObjectExpression.cpp index 1d31c67cc..da472d173 100644 --- a/source/Commands/CommandObjectExpression.cpp +++ b/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/source/Target/Process.cpp b/source/Target/Process.cpp index 4cdcc28d1..d2aac468c 100644 --- a/source/Target/Process.cpp +++ b/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; } } |