diff options
author | Jim Ingham <jingham@apple.com> | 2010-10-22 23:28:32 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2010-10-22 23:28:32 +0000 |
commit | 65a0e595e6083f79a8da82cef6902f7ded899c13 (patch) | |
tree | d17bf87aa7f5ddfa1bf92aebad70b721e55c8cbd /lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp | |
parent | cf5498f1c746254cc1a28a4686cf46982d663c9b (diff) | |
download | bcm5719-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.cpp | 6 |
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; |