[Lldb-commits] [lldb] r117179 - /lldb/trunk/source/Plugins/Process/Utility/StopInfoMachException.cpp

Jim Ingham jingham at apple.com
Fri Oct 22 16:28:32 PDT 2010


Author: jingham
Date: Fri Oct 22 18:28:32 2010
New Revision: 117179

URL: http://llvm.org/viewvc/llvm-project?rev=117179&view=rev
Log:
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.

Modified:
    lldb/trunk/source/Plugins/Process/Utility/StopInfoMachException.cpp

Modified: lldb/trunk/source/Plugins/Process/Utility/StopInfoMachException.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Utility/StopInfoMachException.cpp?rev=117179&r1=117178&r2=117179&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Utility/StopInfoMachException.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Utility/StopInfoMachException.cpp Fri Oct 22 18:28:32 2010
@@ -324,9 +324,15 @@
                     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;





More information about the lldb-commits mailing list