Author: tkreuzer Date: Thu Aug 19 09:03:36 2010 New Revision: 48566
URL: http://svn.reactos.org/svn/reactos?rev=48566&view=rev Log: [NTOSKRNL] Fix handling of next instruction in kdbg. Patch by Daniel Zimmermann, modified by Aleksey Bragin
See issue #4457 for more details.
Modified: trunk/reactos/ntoskrnl/kdbg/kdb.c
Modified: trunk/reactos/ntoskrnl/kdbg/kdb.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/kdbg/kdb.c?rev=485... ============================================================================== --- trunk/reactos/ntoskrnl/kdbg/kdb.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/kdbg/kdb.c [iso-8859-1] Thu Aug 19 09:03:36 2010 @@ -1413,6 +1413,8 @@ /* Delete the temporary breakpoint which was used to step over or into the instruction. */ KdbpDeleteBreakPoint(-1, BreakPoint);
+ TrapFrame->Eip--; + if (--KdbNumSingleSteps > 0) { if ((KdbSingleStepOver && !KdbpStepOverInstruction(TrapFrame->Eip)) || @@ -1681,8 +1683,11 @@ /* Clear dr6 status flags. */ TrapFrame->Dr6 &= ~0x0000e00f;
- /* Skip the current instruction */ - Context->Eip++; + if (!KdbEnteredOnSingleStep && KdbSingleStepOver) + { + /* Skip the current instruction */ + Context->Eip++; + } }
return ContinueType;