forked from OSchip/llvm-project
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> llvm-svn: 187434
This commit is contained in:
parent
fee76fac2f
commit
4b388c9e16
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue