故障转储分析:CxxUnhandledExceptionFilter

尤里

我有一个崩溃微型转储文件来分析。我的程序是Qt5多线程应用程序。我不是调试专家,但通常我可以轻松找到程序失败的地方,但是这次我找不到。我在Visual Studio 2010中打开了转储文件,单击“仅使用本机调试”,它向我显示了问题所在:它是位置为“ __CxxUnhandledExceptionFilter”的线程。调用堆栈是这样的:

msvcr100.dll()!_abort()
msvcr100.dll()!terminate()
program.exe!__CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS * pPtrs)
KERNELBASE.dll!_UnhandledExceptionFilter()
ntdll.dll!__RtlUserThreadStart()
ntdll.dll!__RtlUserThreadStart()

我希望看到带有程序功能和Qt内部功能的堆栈。但是这个调用栈告诉我没有什么有趣的。因此,请告诉我什么是“ ExceptionFilter”线程,如何找到程序实际失败的地方?

沙绍尔姆

您正在查看应用程序,其中默认的异常过滤器已经捕获了未处理的异常。

也就是说,您没有看到发生异常的行。

不幸的是,这意味着小型转储可能不包含有用的信息。

您可以尝试检查_EXCEPTION_POINTERS结构,它可能包含EIP触发未处理异常的指令。

看到的值pPtrs->ExceptionRecord->ExceptionAddress,即应保持的值EIP

从MSDN:

ExceptionAddress:发生异常的地址。

要在发生异常的时刻获取堆栈跟踪,请阅读http://support.microsoft.com/kb/313109

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

故障转储分析:CxxUnhandledExceptionFilter

来自分类Dev

分析故障转储文件

来自分类Dev

分段故障(核心转储)

来自分类Dev

分段故障(核心转储)

来自分类Dev

如何在Windows环境中生成故障转储分析报告

来自分类Dev

如何解释此故障转储

来自分类Dev

UDK错误,如何检查故障转储

来自分类Dev

分段故障(核心转储)问题

来自分类Dev

Flex / Bison:分段故障核心转储

来自分类Dev

Erlang:无故障转储

来自分类Dev

分段故障(核心转储)变量分配

来自分类Dev

分段故障(核心转储)OpenMP

来自分类Dev

分段故障(核心转储)错误消息

来自分类Dev

Linux故障转储不起作用

来自分类Dev

Flex / Bison:分段故障核心转储

来自分类Dev

分段故障核心转储并行阵列

来自分类Dev

分段故障(核心转储)问题,堆栈

来自分类Dev

如何解释此故障转储

来自分类Dev

分段故障核心转储问题与C

来自分类Dev

.Net 进程的自动故障转储

来自分类Dev

使用递归分割数组排序故障故障核心转储

来自分类Dev

Android:如何分析本机堆转储?

来自分类Dev

分析包含MSVCR异常的转储文件

来自分类Dev

Websphere 7线程转储分析

来自分类Dev

分析核心转储文件Redhat 7.0

来自分类Dev

分析堆栈已损坏的核心转储

来自分类Dev

故障转储中的纯文本密码保护

来自分类Dev

如何为.NET进行良好的故障转储?

来自分类Dev

使用Apport故障转储来调试Python程序