当在valgrind下运行的程序被中断时,线程堆栈回溯

时间:2009-12-21 20:50:19

标签: multithreading valgrind backtrace

我有一个服务器程序,没有非常干净/正常的关闭(一般不应该终止)。当跟踪内存泄漏时,我在valgrind下运行它,但最后必须通过信号(^ C)终止进程。一般情况下,当环境安静时,我会尝试终止进程,但仍然有些线程可能忙于处理作业,并且由它们保存的内存会导致错误警报。为了帮助进行这样的分析,valgrind中是否有任何方法(工具),以便在程序退出时(通过信号?)打印线程的回溯。

2 个答案:

答案 0 :(得分:1)

我知道这很不方便,但是当你收到这个信号时,你能让你的程序转储核心,然后用gdb诊断核心转储吗?

答案 1 :(得分:0)

不确定我完全理解你的问题,但你可以通过gdb打印所有pthreads的回溯:

thread apply all bt