gpt4 book ai didi

exception-handling - SetUnhandledExceptionFilter 什么时候不起作用?例如堆栈损坏?

转载 作者:行者123 更新时间:2023-12-03 15:59:51 25 4
gpt4 key购买 nike

我想让我的代码为未处理的异常创建转储。
我曾想过使用 SetUnhandledExceptionFilter。但是 SetUnhandledExceptionFilter 可能无法按预期工作的情况是什么。例如,当堆栈上发生缓冲区溢出时,堆栈损坏问题怎么办?
在这种情况下会发生什么?是否有任何其他解决方案将始终有效?

最佳答案

我使用 SetUnhandledExceptionFilter 已经有一段时间了,并没有注意到任何未正确捕获的崩溃/问题。而且,如果在代码中的某个地方没有处理异常,它应该由过滤器处理。来自 MSDN关于过滤器...

After calling this function, if an exception occurs in a process that is not being debugged, and the exception makes it to the unhandled exception filter, that filter will call the exception filter function specified by the lpTopLevelExceptionFilter parameter.



没有提到上述仅适用于某些类型的异常(exception)。

我不使用过滤器来创建转储文件,因为应用程序使用 Microsoft WER系统报告崩溃。相反,过滤器用于提供一个机会来收集两个附加文件以附加到 Microsoft 将收集的崩溃报告(和转储文件)。

这是 Microsoft 的应用程序崩溃报告仪表板示例,其中模块名称已编辑。

enter image description here

您会看到收集了多种崩溃类型,包括堆栈缓冲区溢出。

关于exception-handling - SetUnhandledExceptionFilter 什么时候不起作用?例如堆栈损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29274649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com