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