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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

+ l: Z& k  \9 \- p0 A
- d& Y9 q/ u6 K" j" r5 R3 j5 m: x- w
7 ^! O4 p8 r1 H1 F* z* S- w
- b7 J3 ^, h1 X3 K" Q5 z# V

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 02:04 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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