Windows:打开minidump时无法看到调用堆栈

时间:2011-11-24 14:45:35

标签: c++ windows debugging crash-dumps minidump

我正在使用带有MiniDumpWriteDump参数的MiniDumpNormal来转储SEH异常处理程序中的调用堆栈。当我在VS中打开转储时,我看不到callstack。两天前,当我开始尝试转储时,我确实用相同的代码看到了它。我改变了什么,我不明白。这是一个调试版本(我甚至从版本构建中看到了调用堆栈)。如果我将断点置于MiniDumpWriteDump调用,我可以在调试器中看到调用栈很好。如果转储不是从异常处理程序中写入的话,我可以在VS中打开转储后看到调用堆栈。 堆栈没有出现的原因是什么?

That's what my dump-writing code looks like

P上。 S.我用/ EHa编译。还试图完全禁用C ++异常(两天前肯定有用)。当然,.pdb文件生成正常。

P上。 P. S.这就是我所说的“调用堆栈没有出现”。

enter image description here

1 个答案:

答案 0 :(得分:2)

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