2012-04-15 29 views
1

有沒有辦法,我可以找到正在運行的進程的內存泄漏?我可以使用Valgrind在進程開始之前查找內存泄漏。我可以使用GDB將其附加到正在運行的進程。我如何調試正在運行的進程的內存泄漏?請指教。謝謝。如何找到正在運行的進程的內存泄漏?

+0

http://unix.stackexchange.com/q/36450/17720 – howtechstuffworks 2012-04-15 03:16:47

+0

任何原因,特別是你爲什麼不能使用Valgrind?只是好奇。 – tangrs 2012-04-15 03:22:22

+1

那麼,如果一個進程已經運行,有什麼方法可以附加它? – howtechstuffworks 2012-04-15 03:22:49

回答

2

分析器儀器的代碼..因此,你必須運行你的應用程序'通過'他們。如果你不能用gdb弄清楚,並且如果你由於某種原因不能創建一個新的實例並用一個分析器進行測試,我會說你有麻煩。

+0

有沒有辦法用gdb找到內存泄漏? – howtechstuffworks 2012-04-15 03:47:46

+1

您可以檢查變量的值。所以,這就像在大海撈針一樣,除非你的應用程序很小或者你有強烈的懷疑並且有針對性的搜索。所以它在技術上有可能找到它,但決不會gdb爲你拼寫任何東西,並且可能不實際。 – sethcall 2012-04-15 03:52:19