Valgrind:如何在不终止进程的情况下强制它生成堆摘要?

zer*_*lus 2 valgrind

当使用Valgrind时,我注意到它只在进程终止时生成堆摘要.有没有办法强制Valgrind扫描内存并在进程仍在运行时打印泄漏报告?

Emp*_*ian 7

除了VALGRIND_DO_LEAK_CHECK客户端请求之外,您还可以运行valgrind with --vgdb=yes以启用嵌入式gdbserver,然后在提示符下发出monitor leak_check full reachable any 命令(gdb).

这不需要修改和重建目标程序,还有其他优点:您可以在执行中的任意点设置断点并执行泄漏检查,而不仅仅是您放入客户端请求的位置.