Petr Tesarik : winedbg: Fix stepping over an instruction.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Mar 27 05:29:11 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 68f8d289459d98a89d93c615be0f02a1f07cbd0d
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=68f8d289459d98a89d93c615be0f02a1f07cbd0d

Author: Petr Tesarik <hat at tesarici.cz>
Date:   Fri Mar 24 12:46:10 2006 +0100

winedbg: Fix stepping over an instruction.

---

 programs/winedbg/break.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/programs/winedbg/break.c b/programs/winedbg/break.c
index cd36fb4..cafb4cd 100644
--- a/programs/winedbg/break.c
+++ b/programs/winedbg/break.c
@@ -731,9 +731,9 @@ BOOL break_should_continue(ADDRESS* addr
     if (code == EXCEPTION_BREAKPOINT)
         addr->Offset += be_cpu->adjust_pc_for_break(&dbg_context, TRUE);
 
+    dbg_curr_thread->stopped_xpoint = find_xpoint(addr, be_xpoint_break);
     dbg_curr_process->bp[0].enabled = FALSE;  /* disable the step-over breakpoint */
 
-    dbg_curr_thread->stopped_xpoint = find_xpoint(addr, be_xpoint_break);
     if (dbg_curr_thread->stopped_xpoint > 0)
     {
         if (!should_stop(dbg_curr_thread->stopped_xpoint)) return TRUE;
@@ -744,7 +744,8 @@ BOOL break_should_continue(ADDRESS* addr
         return FALSE;
     }
 
-    dbg_curr_thread->stopped_xpoint = find_xpoint(addr, be_xpoint_watch_exec);
+    if(dbg_curr_thread->stopped_xpoint < 0)
+        dbg_curr_thread->stopped_xpoint = find_xpoint(addr, be_xpoint_watch_exec);
     if (dbg_curr_thread->stopped_xpoint > 0)
     {
         /* If not single-stepping, do not back up over the break instruction */
@@ -759,7 +760,8 @@ BOOL break_should_continue(ADDRESS* addr
         return FALSE;
     }
 
-    dbg_curr_thread->stopped_xpoint = find_triggered_watch(&oldval);
+    if(dbg_curr_thread->stopped_xpoint < 0)
+        dbg_curr_thread->stopped_xpoint = find_triggered_watch(&oldval);
     if (dbg_curr_thread->stopped_xpoint > 0)
     {
         /* If not single-stepping, do not back up over the break instruction */




More information about the wine-cvs mailing list