Windows 故障转储调用堆栈仅显示 wow64
Windows Crash Dump call stack only shows wow64
问题
我有一个 Windows 应用程序,是我们为内部使用而开发的。感谢 Windows 错误处理,window 保持打开状态,我可以轻松地从任务管理器生成故障转储。
我以前通过 eclipse 在 linux 上使用过故障转储,但这是第一次在 Windows.
上
硬件
服务器是Windows2012,我的开发机是Windows7.
Windbg
当我在 Windbg 中加载崩溃转储时,加载我的符号,然后选择查看调用堆栈,唯一的列表是:
我怎样才能具体查看我的应用程序调用堆栈?
看起来您的应用程序是 32 位应用程序,并且您使用 64 位 Taskmgr 生成了转储。
你应该使用 ProcessExplorer instead, it cares about the bitness:
Process Explorer v15.3: It also creates dump files that match the
bitness of the target process
或 运行 来自 C:\Windows\SysWOW64
的 32 位 Taskmgr 生成转储。
和, you have taken a 64 bit dump of a 32 bit application. There are multiple options to take a 32 bit dump of a 32 bit application on 64 bit OS一样,选一个最舒服的就可以了
如果这是您唯一的转储并且几乎没有机会获得更好的转储,您可以尝试!sw
切换到 32 位模式:
0:014> !sw
Switched to 32bit mode
0:014:x86>
注意命令提示符是如何变化的。恕我直言,完全相同的效果可以通过 .effmach
实现
0:014> .effmach x86
Effective machine: x86 compatible (x86)
0:014:x86>
除非您明确指定模式,其中 !sw
命令在两者之间切换。
如果是 .NET 应用程序,none 这些对我有帮助,因为 SOS 无法处理不正确位数的转储。
问题
我有一个 Windows 应用程序,是我们为内部使用而开发的。感谢 Windows 错误处理,window 保持打开状态,我可以轻松地从任务管理器生成故障转储。
我以前通过 eclipse 在 linux 上使用过故障转储,但这是第一次在 Windows.
上硬件
服务器是Windows2012,我的开发机是Windows7.
Windbg
当我在 Windbg 中加载崩溃转储时,加载我的符号,然后选择查看调用堆栈,唯一的列表是:
我怎样才能具体查看我的应用程序调用堆栈?
看起来您的应用程序是 32 位应用程序,并且您使用 64 位 Taskmgr 生成了转储。
你应该使用 ProcessExplorer instead, it cares about the bitness:
Process Explorer v15.3: It also creates dump files that match the bitness of the target process
或 运行 来自 C:\Windows\SysWOW64
的 32 位 Taskmgr 生成转储。
和
如果这是您唯一的转储并且几乎没有机会获得更好的转储,您可以尝试!sw
切换到 32 位模式:
0:014> !sw
Switched to 32bit mode
0:014:x86>
注意命令提示符是如何变化的。恕我直言,完全相同的效果可以通过 .effmach
0:014> .effmach x86
Effective machine: x86 compatible (x86)
0:014:x86>
除非您明确指定模式,其中 !sw
命令在两者之间切换。
如果是 .NET 应用程序,none 这些对我有帮助,因为 SOS 无法处理不正确位数的转储。