Valgrind可以显示泄露记忆的价值吗?

时间:2013-12-12 08:09:19

标签: memory-leaks valgrind

我想知道valgrind是否有可能显示泄漏内存的值,例如(不是真正的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***显示正在泄露的字符串的确切值。我一直在查看文档,但一无所获。也许更熟悉该工具的人可以指出如何做到这一点! (我不怕自己编译:))

1 个答案:

答案 0 :(得分:1)

Valgrind版本中的GDB服务器> = 3.8.0提供了monitor命令     黑名单 这将输出泄漏块的地址。

然后,您可以使用GDB等命令检查泄漏的内存内容。

有关详细信息,请参阅 http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserverhttp://www.valgrind.org/docs/manual/mc-manual.html#mc-manual.monitor-commands