各位,我尝试在互联网上寻找解决方案,但我失败了,我需要你的帮助。
我需要编写一个具有以下属性的程序:
如果它崩溃了——它应该写下崩溃的时间和发生的行。
我为此目的制作了一个特殊的日志记录功能,但是 - 我不知道如何拦截崩溃事件并将其写入日志文件 - 就在崩溃发生之后。
非常感谢您的帮助。
最佳答案
您可以使用 std::uncaught_exception在您的析构函数中检查堆栈是否由于异常而展开,如果是这种情况,请写入范围日志条目。
this thread 中可能还有一些有趣的信息供您引用.当涉及到异常处理时,它包含许多关于好的和坏的实践的有用信息。
关于C++如何在程序崩溃之前将某些内容写入日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17749302/