我在Windbg的nt!ntWriteFile中设置了一个断点。我正在使用内核调试,当某个程序(例如,notepad.exe)最终调用此API时,我希望得到用户堆栈+内核堆栈跟踪。当断点开始时,我会执行以下操作:
.reload /user
K
但结果与此类似(在这种情况下,notepad.exe是当前进程):
# ChildEBP RetAddr
00 8f5a8c34 76e96c73 nt!NtWriteFile
01 8f5a8c38 badb0d00 ntdll!KiFastSystemCall+0x3
02 8f5a8c3c 0320ef04 0xbadb0d00
03 8f5a8c40 00000000 0x320ef04
我的问题是:
谢谢。
更新 正如我在此阅读link(感谢Thomas Weller),0xbadb0d00用于在某些情况下初始化未初始化的内存。现在我有更多的怀疑。为什么堆栈跟踪显示未初始化的内存?如果我在其上下文中,为什么notepad.exe stack-trace不会出现在输出中?
我正在调试的Windows主机是Windows 7 32位。