求快速准确定位程序运行一段时间挂掉的工具或方法

急!!!请教一个问题,我有个邮件代理服务端程序,在linux下运行,它是个守护进程挂在进程树上的,问题出现在服务端程序(采用多线程)运行一段不确定时间后自动退出,通过分析打印log,确定不了程序在哪个地方挂掉退出的,因为日志一会儿在打印这条语句时挂掉,一会儿在打印那条语句时挂掉。通过调试log一周了也没有调试出来,请问还有没有其他最快的方法或工具准确定位错误在哪里呢?谢谢!!!看到请留言,麻烦了,急啊!!

作者: rock_wang_1985   发布时间: 2011-03-28

整个进程都退出了?
有没有core文件产生?如果没有core,那应该就是程序中自己调用了exit()
也有可能是被信号终止了

作者: justkk   发布时间: 2011-03-28

恩,整个后台进程就退出了。并且不能在log里显示出来。没有core文件产生。如果是自己调用exit()吧,但它是不确定的时间就退出,有时候在接收第一封邮件的时候就退出了,有时候程序运行一天也不退出,很难判断和定位,还有信号终止时会打印log,比如更新配置文件,或杀死该进程信号,日志里都能显示出来。看日志信息的时候有时候退出,感觉是卡住了一样,在即将退出时不会将即将打印的日志完整的打印出来。盼求解!!

作者: rock_wang_1985   发布时间: 2011-03-28

看看是不是超时了?
检查一下自己的代码吧,外人很难比你自己更清楚

作者: justkk   发布时间: 2011-03-28