2013-12-12 25 views
3

我想知道如果在Valgrind的可能表明泄漏的內存的值,如(不是一個真正的valgrind輸出!):Can Valgrind可以顯示泄漏內存的值嗎?

==15060== 12 bytes (***HERE***) in 1 blocks are definitely lost in loss record 1 of 1 
==15060== at 0x4C2AAA4: operator new[](unsigned long) (in vgpreload_memcheck-amd64-linux.so) 
==15060== by 0x5DC8236: char* allocate(unsigned long, char const*, long) (mem.h:149) 
==15060== by 0x5EAC286: trim(char const*, nap_compiler const*) (file.cpp:107) 

***HERE***顯示字符串的確切值正在泄漏。我一直在查看所有的文檔,但什麼也沒找到。也許有人更熟悉該工具可以指出要做什麼來實現這一目標! (我不害怕自己編譯:))

+0

Tehnically,它應該是可能的。 Valgrind(Memcheck)存儲陰影值以記憶每個堆訪問。我明白,開發工具相對容易(如本例中的Memcheck)。如果您不害怕重新編譯Valgrind,則可以修改Memcheck以顯示像這樣的值。但是,這可能比修正錯誤更耗時。 ;) – Skaarjasaurus

+0

另一種方法是將泄漏文件轉儲到文件中,這對於更大的泄漏會更好。 –

回答