Windows:打开小型转储时无法看到调用堆栈
我使用带有 MiniDumpNormal
参数的 MiniDumpWriteDump 来转储 SEH 异常处理程序中的调用堆栈。当我在 VS 中打开转储时,我看不到调用堆栈。两天前,当我开始尝试转储时,我确实看到了相同的代码。我改变了一些东西,但我不明白是什么。这是一个调试版本(我什至看到了发布版本的调用堆栈)。如果我将断点放在 MiniDumpWriteDump 调用处,我可以在调试器中很好地看到调用堆栈。如果转储不是从异常处理程序中写入的,我可以在 VS 中打开转储后看到调用堆栈。 堆栈不显示的原因是什么?
PS我使用/EHa进行编译。还尝试完全禁用 C++ 异常(两天前确实有效)。当然,.pdb 文件生成得很好。
PPS 这就是我所说的“调用堆栈没有显示”的意思。
I'm using MiniDumpWriteDump
with MiniDumpNormal
parameter to dump call stack in SEH exception handler. When I open the dump in VS, I can't see the callstack. I did see it with the same code two days ago when I started experimenting with dumping. I've changed something, and I don't understand what. This is a debug build (and I even saw call stack from a release build all right). I can see call stack fine in the debugger, if I put the breakpoint at MiniDumpWriteDump
call. I can see call stack after opening the dump in VS, if the dump wasn't written from within the exception handler.
What can be the cause of stack not showing up?
That's what my dump-writing code looks like
P. S. I compile with /EHa. Also tried disabling C++ exceptions at all (that definitely worked two days ago). And, of course, .pdb files are generated fine.
P. P. S. And this is what I mean by saying "call stack is not showing up".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在某些情况下,调试器无法重建整个堆栈。
在这种情况下,您需要使用 WinDbg 打开转储并手动重建堆栈。
In some circumstances, the debugger is not able to reconstruct the whole stack.
In this case, you need to open the dump with WinDbg and reconstruct the stack manually.