1. gdb服務器
命令:gdb /path/exe pidspa
做用:調試運行中的進程。進程運行異常時,能夠經過該方法,查看進程當前的狀態。線程
適用場景:①進程運行中但服務終止 ②死鎖調試
使用:進程
進入gdb後,能夠經過:
① bt
查看當前進程狀態thread
② info thread
查看全部線程配置
③ thread
查看當前線程file
④ thread no
切換線程,no爲目標線程號
循環
2. strace方法
命令:strace -p pid
做用:跟蹤系統調用
適用場景:CPU 100% 或 死循環
示例:
服務器異常,CPU 100%
一定有死循環,然而gdb效果不理想。
strace -p $(pidof jpush-online)
原來是系統配置問題,nofile限制形成accept調用失敗,引起死循環。
同理,跟蹤庫調用,使用ltrace -p pid