大家,我试图在互联网上寻找解决方案,但我失败了,我需要你的帮助。
我需要编写一个具有以下属性的程序:
如果它崩溃 - 它应该写下崩溃的时间和发生的行。
但是,我为此目的制作了一个特殊的日志记录功能 - 我不知道如何拦截崩溃事件并将其写入日志文件 - 就在崩溃发生之后。
我将衷心感谢您的帮助。
您可以在析构函数中使用std::uncaught_exception来检查堆栈是否由于异常而展开,如果是这种情况,则写入范围日志条目。
在这个线程中可能还有一些有趣的信息。当涉及到异常处理时,它包含很多关于好的和坏的做法的有用信息。
取决于你想如何实现它。
让我准确地解释一下你试图在崩溃中捕捉到什么。
这些被称为未处理的异常。这些是通过 C++ 异常处理程序读取的,并被视为操作系统级别的异常处理。这意味着您在何处以及如何捕获错误的实现取决于操作系统。(很重要)
我只知道windows所以....这里是你可以在windows平台上做的方法。
三种方式。
__try __except -- 基本上类似于 try catch 但级别较低
捕捉信号——如果你想用谷歌搜索一下,我认为这没什么用,甚至懒得解释
我推荐的解决方案是