c++ - 应用程序崩溃后实现文件恢复的概念(例如 SIGSEGV)
问题描述
我想实现一个功能,当我的应用程序崩溃时,它将当前数据保存到一个临时文件中,以便可以像许多应用程序一样在下次启动时恢复它(例如 Word 或其他东西)。
所以据我所知,这通常是通过每隔几分钟保存一次文件,然后在启动时加载最后保存的文件(如果存在)来完成的。
但是我想知道是否也可以通过捕获所有未处理的异常然后在应用程序崩溃时调用 save 方法来完成。
优点是我不必一直写入磁盘,因为 SSD 不喜欢那样,而且文件真的来自崩溃时间,在最坏的情况下不会超过 10 分钟。
我在linux上试过这个
signal(SIGSEGV, crashSave);
其中 crashSave() 是调用保存的函数,它似乎可以工作。但是我不确定这是否也适用于 Windows?
是否有一个我不应该这样做的一般原因(除了在少数情况下保存的文件可能已损坏)或者其他应用程序执行定时自动保存的优势是什么?
解决方案
推荐阅读
- recurrent-neural-network - 将一个 RNN 的隐藏状态转移到另一个 RNN
- python - Python:遍历用户定义的 Oracle PL/SQL 类型
- reactjs - TypeScript 和 ReactJS - 如何为 useContext(...) 定义返回类型
- java - Jpa 交易倍数
- python - 从字符串中删除开头和结尾 " 并存储为变量
- android - 应用权限调用:Bluestacks 上的耳机
- marklogic - 如何从 Java api Marklogic 10 [marklogic] 调用 sjs 或 xqy 文件
- javascript - 如何并行运行 2 个幻灯片动画?
- java - 当方法返回类型为 Mono 时返回 String 值
- selenium - 我开始在 New Relic 中浏览 selenium 脚本,当我尝试打印属性时,我无法获取此数据