在C++中记录 SEH 错误

Logging SEH errors in C++

本文关键字:SEH 错误 记录 C++      更新时间:2023-10-16

可以执行以下操作吗? 我对Windows编程很陌生,所以我的要求可能从不可能到荒谬。 如果我理解正确,除以零或访问冲突等错误由 Windows 结构化异常机制处理。 我想将最大数量的可用信息转储到日志文件中,最好是在出现结构化异常时进行堆栈跟踪。 我正在使用MSVC10,Windows 7。

编辑:一个不相关的问题是这是否是合理的做法? 堆栈是否包含足够的可用信息来帮助调试,即函数名称。 另外,捕获此异常后转储堆栈的最佳方法是什么?谢谢

是的,这是可能的。在这里你可以找到一个示例:try-except 语句。

但是,最好考虑为意外的 SEH 异常创建转储,否则可能很难找到原因。