GDB调试之attach

    技术2022-05-11  14

    经常在用linux的时候,都是ssh上去的,开了一个后台程序以后,如果将ssh关掉以后,一些输出的日志就没有办法看到了,只能是用ps看一下程序有没有死掉。

    今天碰到一个非常严重的问题,就是程序跑着跑着,突然不见了,而且还没有core文件。只能重开程序,再观看,可是在看的时候就是不飞掉。结果第二天来的时候,又不见了。后来想了一个办法,当ssh关掉以后,可以用gdb attach到一个进程中,这样就可以知道程序在干嘛了?最后终于知道了,程序为什么飞掉了,而且没有core文件,原来是程序收到了一个系统发出来的SIG_PIPE的消息,因为程序中没有对这个信号进行忽略,所以就无声无息的退出去了。


    最新回复(0)