首页 > 解决方案 > 应用程序崩溃后实现文件恢复的概念(例如 SIGSEGV)

问题描述

我想实现一个功能,当我的应用程序崩溃时,它将当前数据保存到一个临时文件中,以便可以像许多应用程序一样在下次启动时恢复它(例如 Word 或其他东西)。

所以据我所知,这通常是通过每隔几分钟保存一次文件,然后在启动时加载最后保存的文件(如果存在)来完成的。

但是我想知道是否也可以通过捕获所有未处理的异常然后在应用程序崩溃时调用 save 方法来完成。

优点是我不必一直写入磁盘,因为 SSD 不喜欢那样,而且文件真的来自崩溃时间,在最坏的情况下不会超过 10 分钟。

我在linux上试过这个

signal(SIGSEGV, crashSave);

其中 crashSave() 是调用保存的函数,它似乎可以工作。但是我不确定这是否也适用于 Windows?

是否有一个我不应该这样做的一般原因(除了在少数情况下保存的文件可能已损坏)或者其他应用程序执行定时自动保存的优势是什么?

标签: c++

解决方案


推荐阅读