summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2010-10-22 23:28:32 +0000
committerJim Ingham <jingham@apple.com>2010-10-22 23:28:32 +0000
commit65a0e595e6083f79a8da82cef6902f7ded899c13 (patch)
treed17bf87aa7f5ddfa1bf92aebad70b721e55c8cbd /lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
parentcf5498f1c746254cc1a28a4686cf46982d663c9b (diff)
downloadbcm5719-llvm-65a0e595e6083f79a8da82cef6902f7ded899c13.tar.gz
bcm5719-llvm-65a0e595e6083f79a8da82cef6902f7ded899c13.zip
If we hit a thread specific breakpoint for another thread, don't report the Exception as the stop reason, you have to report no stop reason.
llvm-svn: 117179
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp')
-rw-r--r--lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp b/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
index c7e85f736c7..2a47640f6d9 100644
--- a/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
+++ b/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
@@ -324,9 +324,15 @@ StopInfoMachException::CreateStopReasonWithMachException
lldb::BreakpointSiteSP bp_site_sp = thread.GetProcess().GetBreakpointSiteList().FindByAddress(pc);
if (bp_site_sp)
{
+ // If the breakpoint is for this thread, then we'll report the hit, but if it is for another thread,
+ // we can just report no reason. We don't need to worry about stepping over the breakpoint here, that
+ // will be taken care of when the thread resumes and notices that there's a breakpoint under the pc.
if (bp_site_sp->ValidForThisThread (&thread))
return StopInfo::CreateStopReasonWithBreakpointSiteID (thread, bp_site_sp->GetID());
+ else
+ return StopInfoSP();
}
+
}
}
break;
OpenPOWER on IntegriCloud