3

我正在使用MiniDumpWriteDumpwithMiniDumpNormal参数在 SEH 异常处理程序中转储调用堆栈。当我在 VS 中打开转储时,我看不到调用堆栈。两天前,当我开始尝试倾倒时,我确实看到了相同的代码。我改变了一些东西,我不明白是什么。这是一个调试版本(我什至可以看到来自发布版本的调用堆栈)。如果我在调用处放置断点,我可以在调试器中看到调用堆栈正常MiniDumpWriteDump。如果转储不是从异常处理程序中写入的,我可以在 VS 中打开转储后看到调用堆栈。堆栈未显示的原因可能是什么?

这就是我的转储编写代码的样子

PS我用/EHa编译。还尝试完全禁用 C++ 异常(两天前肯定有效)。当然,.pdb 文件生成得很好。

PPS 这就是我所说的“调用堆栈没有出现”的意思。

在此处输入图像描述

4

1 回答 1

2

在某些情况下,调试器无法重建整个堆栈。在这种情况下,您需要使用 WinDbg 打开转储并手动重建堆栈。

于 2011-11-26T21:02:41.543 回答