我正在使用带有MiniDumpWriteDump
参数的MiniDumpNormal
来转储SEH异常处理程序中的调用堆栈。当我在VS中打开转储时,我看不到callstack。两天前,当我开始尝试转储时,我确实用相同的代码看到了它。我改变了什么,我不明白。这是一个调试版本(我甚至从版本构建中看到了调用堆栈)。如果我将断点置于MiniDumpWriteDump
调用,我可以在调试器中看到调用栈很好。如果转储不是从异常处理程序中写入的话,我可以在VS中打开转储后看到调用堆栈。
堆栈没有出现的原因是什么?
That's what my dump-writing code looks like
P上。 S.我用/ EHa编译。还试图完全禁用C ++异常(两天前肯定有用)。当然,.pdb文件生成正常。
P上。 P. S.这就是我所说的“调用堆栈没有出现”。
答案 0 :(得分:2)
在某些情况下,调试器无法重建整个堆栈。 在这种情况下,您需要使用WinDbg打开转储并手动重建堆栈。