linux下查找运行程序中的死循环

早上到公司后发现服务器的CPU占用率竟然达到百分之百了. 猜测是触发了问题代码进入死循环了.

用PS命令查看了一下情况. 发现罪魁祸首是某个游戏服务器程序. CPU占用率超高.

用 top -H -p PID 查看问题到底出现在那个线程, 记录下threadID.

用 gdb ProcessName PID 附近到目标进程.

用 info threads 列出线程状态.

用 thread Num. 查看问题线程信息

用 bt 查看堆栈调用顺利找到问题代码位置.

 

最后记得 gdb dettach 分离.

 

posted @ 2015-10-15 17:41  hottcp  阅读(1812)  评论(0编辑  收藏  举报