aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2013-07-30 19:54:09 +0000
committerSean Callanan <scallanan@apple.com>2013-07-30 19:54:09 +0000
commit01711aa1b451159a31d6423ee8919a3a426b4984 (patch)
tree6cbb59431aef12bc73cc1fffcd74c8998d6644b7
parentf3b05d6372182528f3bb11982d9c68a1e431fe9f (diff)
downloadlldb-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.cpp31
-rw-r--r--source/Target/Process.cpp6
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;
}
}