2009-12-21 29 views
2

我有一個服務器程序,它沒有非常乾淨/優雅的關機(不應該一般會終止)。當追蹤內存泄漏時,我在valgrind下運行它,但最後必須通過一個信號(^ C)來終止進程。一般情況下,我試圖在氛圍安靜時終止進程,但仍然有些線程可能忙於處理作業,並且由它們保留的內存會導致錯誤警報。爲了幫助分析,valgrind中是否有任何方法(工具),以便在程序退出時(通過信號?)打印線程的回溯。在valgrind下運行的程序中斷時線程棧回退

回答

0

不知道我很明白你的問題,但是你可以通過GDB打印所有並行線程的回溯:

thread apply all bt 
+0

其實這個程序是在valgrind下運行的,我想要一些東西/等價物/作爲工具的退出鉤子。 – 2009-12-21 21:26:42

1

我知道這不太方便,但你可以讓你的程序核心轉儲它得到這個時信號,然後用gdb診斷核心轉儲?

相關問題