|
|
1
4
消息由 abort() ,可以直接调用,也可以由设计错误的异常调用-请参见unexpected()或terminate(),如中所述 Disable Microsoft Visual C++ Runtime Error . 是否显示消息可以使用 _set_abort_behavior 打电话来。在XP和更高版本上,应用程序应默认创建一个小型转储并将其发送到Windows错误报告服务。如果需要自定义处理程序(例如,自定义崩溃转储),唯一的(非标准)可能是为abort()函数提供自己的实现。 Microsoft C运行时库中abort的默认实现如下:
在源代码中包含以下代码将使应用程序执行默认的结构化异常处理(包括您可能已安装的任何筛选器):
|
|
|
2
3
应用程序已调用
见 an answer 到 this related question 详细情况。基本上,您必须在顶层捕获和处理所有异常,而不是让异常转义析构函数。在debugger下启动程序,并启用“抛出异常时停止”来查找内部到底出了什么问题并修复它。 |