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