Module: wine Branch: refs/heads/master Commit: 68f8d289459d98a89d93c615be0f02a1f07cbd0d URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=68f8d289459d98a89d93c615...
Author: Petr Tesarik hat@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 */