如何调试多线程的程序?

 我来答
小鱼AIG
2016-12-30 · TA获得超过634个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:28万
展开全部


程序的线程模型应该能在一张 A4 纸上画出来,有哪些线程,干什么活,各路消息来了经过哪些处理步骤,涉及哪些线程,会访问哪些共享数据,等等。

这样就算最初的作者离开团队,后面的维护者也不会轻易破坏这个设计。

要知道,一个看似无害的局部代码修改,有可能造成 data race,如果混过了code review,那么就埋雷了,轻则程序崩溃,重则破坏数据。理解程序的线程设计,才能最大限度地防止这一情况的出现。

最后,动态和静态的分析工具也可以派上用场,例如 Valgrind、ThreadSanitizer。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式