summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/ThreadPlanCallFunction.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2013-05-16 21:52:36 +0000
committerJim Ingham <jingham@apple.com>2013-05-16 21:52:36 +0000
commit641a67ce26d8cd646a90e5ad07a88b42bffea3f1 (patch)
tree659f41030303837622176b9538fa271001326b16 /lldb/source/Target/ThreadPlanCallFunction.cpp
parent065d720c314702a9253eb243b38e72cb538c31c7 (diff)
downloadbcm5719-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.cpp8
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;
}
OpenPOWER on IntegriCloud