C++的多线程后台服务很容易 coredump 啊

2018-12-24 15:52:57 +08:00
 fyooo
接手维护一个老项目,容易 coredump 的主要原因还是我菜...
4172 次点击
所在节点    程序员
27 条回复
linbiaye
2018-12-24 15:58:19 +08:00
那得看是你接手之前是不是容易 coredump
keysona
2018-12-24 16:02:59 +08:00
代码还原,看看初步怎样
keysona
2018-12-24 16:03:15 +08:00
初版
araraloren
2018-12-24 16:04:32 +08:00
是代码菜 还是 你菜。。。
chenqh
2018-12-24 16:09:18 +08:00
换 java,或者 golang,逃
fyooo
2018-12-24 16:09:20 +08:00
@linbiaye 一直容易 coredump,我接手前也是每周 core 2 回的样子
fyooo
2018-12-24 16:09:42 +08:00
@araraloren 毫无疑问是我菜...
katsusan
2018-12-24 16:23:53 +08:00
根据这个"也"字,意思是接手后解决的 bug 数和衍生的 bug 数持平吗,根据我数年的维护经验,lz 应该是掉进坑里了:doge:
truebaoge
2018-12-24 16:28:58 +08:00
gdb 调试一下
Earl
2018-12-24 16:53:26 +08:00
lz 接了一个坑盘
blless
2018-12-24 16:56:08 +08:00
小就重构,大的话…看钱多少
dapang1221
2018-12-24 16:58:24 +08:00
上 supervisor,自动重启,大家假装无事发生,还不是美滋滋
NoAnyLove
2018-12-24 18:17:23 +08:00
感觉上是没处理好多线程的同步 /临界区的问题,所以。。。。。。我觉得应该把菜加到标题里面
littlewing
2018-12-24 18:26:36 +08:00
C++表示这锅我不背
firebroo
2018-12-24 18:40:31 +08:00
写 c/c++我也经常 coredump。。。
chenqh
2018-12-24 18:41:52 +08:00
还是单线程好,逃
GeruzoniAnsasu
2018-12-24 22:37:54 +08:00
拒绝写
有全局对象的
不封装 channel 或者共享内存的
临界对象自己不带锁的
敢于在构造函数之外的大括号内只放 new/malloc 或者析构以外只放 delete/free 的
c++多线程程序

一般这种不定期 core 又可能与 race 相关,哎想想就头大
MeteorCat
2018-12-24 22:38:56 +08:00
我感觉楼主接盘侠了,恭喜恭喜
0987363
2018-12-24 22:50:36 +08:00
加 gdb 调呗,多半是临界区问题。。
sinxccc
2018-12-25 00:21:21 +08:00
容易复现的问题都不是问题…

仔细看代码和 core,给关键部分写单元测试,总能看出来是哪儿的问题的。

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

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

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

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

© 2021 V2EX