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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
你的软件在某个时刻停止服务,CPU占用达到100%+,这种问题一个可能的原因是产生了死循环,假设程序某处存在潜在的死循环,并在某种条件下会引发,本文以一个示例来定位出现死循环的位置。8 O( M, I+ `9 K" @' n
当程序某处存在死循环,通常定位问题及缩小范围的方法是,在可疑的代码处加log,或者注释掉可疑代码,这对于容易重现问题的程序来说还好,但对于“偶尔”才会产生问题程序却很难调试,因为我们很难重现程序故障。本文所述的调试过程正是在这种情况下,假设问题已经出现,我们要求环境保护现场,即出问题的程序还在运行中。( m  b' W) b. Q: T6 s* v
+ E5 Y1 v$ k4 Z. S; {: F/ l! g
1.我们首先要知道是哪个线程出了问题:
游客,如果您要查看本帖隐藏内容请回复
! J8 d; c( n0 N" t. E- y3 t! m

, Y4 r& @% Q/ @3 k% A) l
, P, h; t* a/ h3 T' l
0 L6 D; e& k7 Z" g& N( i

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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