在看雪上回答的问题,有人问在WinDbg下断KiDebugRoutine或者KdEnterDebugger函数会引发蓝屏!因为是在调试Windows的内核调试引擎,我给出的解决办法是用不依赖Windows的内核调试引擎对其进行调试,在以前分析Windows的启动过程时用到过ida的远程调试,在Windows内核调试引擎还没初始化的时候就对系统进行调试,这里就用到了ida的远程调试来解决。
ida--->Debugger--->Attacth---->Remote GDB Debugger
kd> u kdenterdebugger nt!KdEnterDebugger: 8414116d 8bff mov edi,edi 8414116f 55 push ebp 84141170 8bec mov ebp,esp 84141172 51 push ecx 84141173 53 push ebx 84141174 8b5d08 mov ebx,dword ptr [ebp+8] 84141177 56 push esi 84141178 57 push edi
然后直接在ida中下断到KdEnterDebugger的绝对地址
ida 的 快捷键 G 输入 KdEnterDebugger的绝对地址,然后F2下断点,F9运行,当WinDbg再次下断点的时候就会断在ida中的KdEnterDebugger函数了