假设我有以下代码
main()
{
__try
{
//---> SEH EXCEPTION HAS HAPPENED HERE
}
__finally
{
//---> CRASH DUMP WAS TAKEN HERE
}
}
崩溃转储是在“--->”处进行的标记的地方。我可以通过userdump了解将我们带到那里的原始异常是什么。我在堆栈跟踪中找不到任何信息(看起来就像没有异常处理程序的正常执行一样)
UPD:对不起家伙似乎异常不在此线程中,否则最终处理程序将在展开阶段从__except_handler明确调用。需要关闭
答案 0 :(得分:1)
使用WinDbg并按照此博客文章中的详细信息进行操作:http://blogs.msdn.com/b/slavao/archive/2005/01/30/363428.aspx可以从此处下载WinDbg:http://msdn.microsoft.com/en-us/windows/hardware/gg463009
答案 1 :(得分:1)
你只是做错了。崩溃转储应该在__except过滤器中进行。现在.excr和!analyze在调试器中运行得很好。