0
我遇到了以下情况:我处于活动用户模式调试会话,我想显示win32k!_W32Process
结构。不幸的是,win32k是一个内核模式的SYS文件,所以这些符号在用户模式会话中不可用。切换系统不起作用
我知道我总是可以加载DLL,EXE或SYS作为转储文件,然后检查符号。通常我会通过File/Open Crash Dump来做到这一点。
这一次,我想展示一个调试车间,它可能在同一时间调试多个系统的参与者,所以我开了通过WinDbg中的命令提示符下Win32K.sys上:
0:003> |
. 0 id: 10fc attach name: [...]\NetHeaps.exe
0:003> .opendump C:\Windows\winsxs\[...]\win32k.sys
Loading Dump File [C:\Windows\winsxs\[...]\win32k.sys]
Opened 'C:\Windows\winsxs\[...]\win32k.sys'
||0:0:003>
我们现在可以看到,我们有2个系统,目前我的实时调试系统:
||0:0:003> ||
. 0 Live user mode: <Local>
1 Image file: C:\Windows\winsxs\[...]\win32k.sys
我想我现在可以切换到其他系统,但不工作:
||0:0:003> ||1s
^Illegal debuggee error in '||1s'
我就不会担心太多,但在这种情况下,它无法找到的win32k
符号:
||0:0:003> .reload
Reloading current modules
...........................
||0:0:003> dt win32k!_W32Process
Symbol win32k!_W32Process not found.
哇,这太可怕了。 – conio