From 68c0b43c64c767e43c7bab9b5a304d51ba039e18 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 16 Nov 2013 15:25:44 +0000 Subject: [PATCH] [NTOSKRNL] Don't use KiTrapReturnNoSegmentsRet8, when single stepping is active. Fixes debugging with WinDbg svn path=/trunk/; revision=61009 --- reactos/ntoskrnl/ke/i386/traphdlr.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reactos/ntoskrnl/ke/i386/traphdlr.c b/reactos/ntoskrnl/ke/i386/traphdlr.c index e761cd0d82a..70fe0cd80dc 100644 --- a/reactos/ntoskrnl/ke/i386/traphdlr.c +++ b/reactos/ntoskrnl/ke/i386/traphdlr.c @@ -129,6 +129,9 @@ KiEoiHelper(IN PKTRAP_FRAME TrapFrame) /* Check for edited frame */ if (KiIsFrameEdited(TrapFrame)) KiEditedTrapReturn(TrapFrame); + /* Check if we have single stepping enabled */ + if (TrapFrame->EFlags & EFLAGS_TF) KiTrapReturnNoSegments(TrapFrame); + /* Exit the trap to kernel mode */ KiTrapReturnNoSegmentsRet8(TrapFrame); } @@ -191,6 +194,9 @@ KiServiceExit2(IN PKTRAP_FRAME TrapFrame) /* Check for edited frame */ if (KiIsFrameEdited(TrapFrame)) KiEditedTrapReturn(TrapFrame); + /* Check if we have single stepping enabled */ + if (TrapFrame->EFlags & EFLAGS_TF) KiTrapReturnNoSegments(TrapFrame); + /* Exit the trap to kernel mode */ KiTrapReturnNoSegmentsRet8(TrapFrame); }