当前位置: 技术问答>linux和unix
调试问题!谢谢
来源: 互联网 发布时间:2015-08-17
本文导语: 一个已正常运行1年的系统,重新编译后每运行6-10小时就要僵死,打印调试看不出问题,用strace跟踪也无太大效果.主要表现为一个用共享内存实现的队列被填满后就无法正常处理了(死锁?)。大家有什么好的建议,...
一个已正常运行1年的系统,重新编译后每运行6-10小时就要僵死,打印调试看不出问题,用strace跟踪也无太大效果.主要表现为一个用共享内存实现的队列被填满后就无法正常处理了(死锁?)。大家有什么好的建议,方法。不胜感激!
|
gdb的功能不只是单步跟踪。用gdb运行你的程序,直到出问题,然后再Ctrl-C, 看程序停什么地方。
|
看你的描述很想是资源竞争的问题,也不一定就是死锁,监视一下系统的内存资源使用情况,看看是不是有严重的内存泄漏。你的共享buff有多大?认为不会要6-10个小时才填满吧,如果是死锁可能早就出现问题了。
|
我看也是内存泄漏的问题,可以逐个模块的内存泄漏测试一下,应该会有发现的。:)
|
man mtrace
|
ElectricFence等工具可以检测内存泄漏