2012-04-15 32 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