最近项目上跑的是多进程,有几个后台进程在系统起来后启动脚本里就会让其跑起来,有时遇到问题时才会去调试这些后台进程,记录如下:
1,用ps或top命令找出要调试进程的进程号,如:
ps -ef | grep Server 查找要调试的进程号
找到了对应的进程号为461
2,gdb attach PID
attach 上进程后,进程会暂停,此时可以设置断点或其他操作,因为是后台进程已经正常运行,所以一般输入c继续运行即可
3,信号处理
收到SIGPIPE默认动作是stop,暂停掉,设置处理动作:handle SIGUSR2 SIGPIPE nostop noprint
4,打印调用堆栈
此时要调试的进程已经崩溃,查看调用堆栈就可以去排查问题了。