2013-12-12 28 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

另一种方法是将泄漏文件转储到文件中,这对于更大的泄漏会更好。 –

回答