找回密码
 注册
关于网站域名变更的通知
查看: 428|回复: 2
打印 上一主题 下一主题

Linux 多线程调试(内存占用、死循环、CPU占用率高……)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-26 13:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
你的软件在某个时刻停止服务,CPU占用达到100%+,这种问题一个可能的原因是产生了死循环,假设程序某处存在潜在的死循环,并在某种条件下会引发,本文以一个示例来定位出现死循环的位置。1 o+ `3 _4 B( Y8 l
当程序某处存在死循环,通常定位问题及缩小范围的方法是,在可疑的代码处加log,或者注释掉可疑代码,这对于容易重现问题的程序来说还好,但对于“偶尔”才会产生问题程序却很难调试,因为我们很难重现程序故障。本文所述的调试过程正是在这种情况下,假设问题已经出现,我们要求环境保护现场,即出问题的程序还在运行中。
, A" M7 s, V1 y& O% G* u1 P2 E
1.我们首先要知道是哪个线程出了问题:
游客,如果您要查看本帖隐藏内容请回复

2 t# d: K. F0 f3 K0 _
+ r8 _  L* @0 G6 r& _0 B# J, @2 A# B' O% O/ t4 X2 s
2 o: u; ^& d3 s! E/ s- t

该用户从未签到

3#
发表于 2019-8-26 18:18 | 只看该作者
这排查步骤多吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:41 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表