c++崩溃后重启,有什么好的方式可以恢复崩溃前的数据环境,让它接着跑

2018-02-27 17:01:13 +08:00
 wbing

目前只想到写文件的方式,不知道有没啥更好的办法

1618 次点击
所在节点    问与答
6 条回复
Herobs
2018-02-27 18:32:33 +08:00
你应该想着怎么解决崩溃的问题。
acros
2018-02-27 18:37:40 +08:00
有这要求不该引入异常处理?
wevsty
2018-02-27 19:17:57 +08:00
难道不是应该去解决崩溃的问题么。。
HaoyangWei
2018-02-27 19:25:24 +08:00
首先数据放共享内存,然后 C++对象要做成在进程启动时可从共享内存恢复
C++对象的恢复主要麻烦是在恢复虚表指针,这个你可以了解下 C++的 placement new

这套东西我们线上环境就在用,服务器重启用户几乎无感知,用起来还是很舒心的

整套东西做下来挺大的,因为不仅是恢复机制,还有一套周边的东西,楼主要自己实现的话可能会比较费时间
MeteorCat
2018-02-27 20:09:08 +08:00
奔溃就崩溃了,你不能排除是本身数据有误导致崩溃,也不要想着用什么黑科技去还原;不要用一个错误方式去弥补另一个错误
inflationaaron
2018-02-27 23:06:46 +08:00
要热恢复为什么不考虑 Erlang ?有 OTP 虚拟机不需要考虑这些

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/433196

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX