diff options
author | Jim Ingham <jingham@apple.com> | 2013-05-16 21:52:36 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2013-05-16 21:52:36 +0000 |
commit | 641a67ce26d8cd646a90e5ad07a88b42bffea3f1 (patch) | |
tree | 659f41030303837622176b9538fa271001326b16 /lldb/source/Target/ThreadPlanCallFunction.cpp | |
parent | 065d720c314702a9253eb243b38e72cb538c31c7 (diff) | |
download | bcm5719-llvm-641a67ce26d8cd646a90e5ad07a88b42bffea3f1.tar.gz bcm5719-llvm-641a67ce26d8cd646a90e5ad07a88b42bffea3f1.zip |
Handle the case where there is a user breakpoint set at the location of one of our
function call exception catching breakpoints. We need to force ourselves to stop in
that case.
<rdar://problem/13903801>
llvm-svn: 182056
Diffstat (limited to 'lldb/source/Target/ThreadPlanCallFunction.cpp')
-rw-r--r-- | lldb/source/Target/ThreadPlanCallFunction.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lldb/source/Target/ThreadPlanCallFunction.cpp b/lldb/source/Target/ThreadPlanCallFunction.cpp index 0a77d0d1537..2b5af7cebeb 100644 --- a/lldb/source/Target/ThreadPlanCallFunction.cpp +++ b/lldb/source/Target/ThreadPlanCallFunction.cpp @@ -591,7 +591,15 @@ ThreadPlanCallFunction::BreakpointsExplainStop() ||(m_objc_language_runtime && m_objc_language_runtime->ExceptionBreakpointsExplainStop(stop_info_sp))) { + Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_STEP)); + if (log) + log->Printf ("ThreadPlanCallFunction::BreakpointsExplainStop - Hit an exception breakpoint, setting plan complete."); + SetPlanComplete(false); + + // If the user has set the ObjC language breakpoint, it would normally get priority over our internal + // catcher breakpoint, but in this case we can't let that happen, so force the ShouldStop here. + stop_info_sp->OverrideShouldStop (true); return true; } |