[Lldb-commits] [lldb] r176919 - Don't use the fact that we stopped with a "Breakpoint" stop reason to decide to step over the breakpoint. It's

Jim Ingham jingham at apple.com
Tue Mar 12 18:52:09 PDT 2013


Author: jingham
Date: Tue Mar 12 20:52:09 2013
New Revision: 176919

URL: http://llvm.org/viewvc/llvm-project?rev=176919&view=rev
Log:
Don't use the fact that we stopped with a "Breakpoint" stop reason to decide to step over the breakpoint.  It's 
better to check directly whether there is a breakpoint site at the PC.

Modified:
    lldb/trunk/source/Target/Thread.cpp

Modified: lldb/trunk/source/Target/Thread.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Thread.cpp?rev=176919&r1=176918&r2=176919&view=diff
==============================================================================
--- lldb/trunk/source/Target/Thread.cpp (original)
+++ lldb/trunk/source/Target/Thread.cpp Tue Mar 12 20:52:09 2013
@@ -479,11 +479,13 @@ Thread::SetupForResume ()
         // telling the current plan it will resume, since we might change what the current
         // plan is.
 
-        StopReason stop_reason = lldb::eStopReasonInvalid;
-        StopInfoSP stop_info_sp = GetStopInfo();
-        if (stop_info_sp.get())
-            stop_reason = stop_info_sp->GetStopReason();
-        if (stop_reason == lldb::eStopReasonBreakpoint)
+//        StopReason stop_reason = lldb::eStopReasonInvalid;
+//        StopInfoSP stop_info_sp = GetStopInfo();
+//        if (stop_info_sp.get())
+//            stop_reason = stop_info_sp->GetStopReason();
+//        if (stop_reason == lldb::eStopReasonBreakpoint)
+        BreakpointSiteSP bp_site_sp = GetProcess()->GetBreakpointSiteList().FindByAddress(GetRegisterContext()->GetPC());
+        if (bp_site_sp)
         {
             // Note, don't assume there's a ThreadPlanStepOverBreakpoint, the target may not require anything
             // special to step over a breakpoint.





More information about the lldb-commits mailing list