Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 从WinDBG获取完整堆栈跟踪(用户堆栈和内核堆栈)_Debugging_Stack_Windbg - Fatal编程技术网

Debugging 从WinDBG获取完整堆栈跟踪(用户堆栈和内核堆栈)

Debugging 从WinDBG获取完整堆栈跟踪(用户堆栈和内核堆栈),debugging,stack,windbg,Debugging,Stack,Windbg,我在nt中设置了一个断点!来自Windbg的ntWriteFile。我正在使用内核调试,我希望在某些程序(例如notepad.exe)最终调用此API时获得用户堆栈+内核堆栈跟踪。当断点启动时,我将执行以下操作: .reload /user K 但结果与此类似(在本例中,notepad.exe是当前进程): 我的问题是: 什么是0xbadb0d00?我总是看到这个地址 地址0x320ef04是用户登录(在本例中为notepad.exe)上的函数,调用从该地址开始吗?在这种情况下,这将是完整的堆

我在nt中设置了一个断点!来自Windbg的ntWriteFile。我正在使用内核调试,我希望在某些程序(例如notepad.exe)最终调用此API时获得用户堆栈+内核堆栈跟踪。当断点启动时,我将执行以下操作:

.reload /user
K
但结果与此类似(在本例中,notepad.exe是当前进程):

我的问题是:

  • 什么是0xbadb0d00?我总是看到这个地址
  • 地址0x320ef04是用户登录(在本例中为notepad.exe)上的函数,调用从该地址开始吗?在这种情况下,这将是完整的堆栈跟踪(用户堆栈+内核堆栈)
  • 还有其他更简单的方法吗
  • 多谢各位

    更新: 正如我在本文中所读到的(感谢Thomas Weller),在某些情况下,0xbadb0d00用于初始化未初始化的内存。现在我有更多的怀疑。为什么堆栈跟踪显示未初始化的内存?如果我在notepad.exe的上下文中,为什么notepad.exe堆栈跟踪不显示在输出中


    我正在调试的Windows主机是Windows 7 32位。

    我正在调试Windows 7 32位。符号路径正确。是否启用了ksl(“启用加载内核调试器符号”)全局延迟?
     # ChildEBP RetAddr  
    00 8f5a8c34 76e96c73 nt!NtWriteFile
    01 8f5a8c38 badb0d00 ntdll!KiFastSystemCall+0x3
    02 8f5a8c3c 0320ef04 0xbadb0d00
    03 8f5a8c40 00000000 0x320ef04