我试图查看哪个进程导致内存泄漏,并转储导致它的堆以查看问题所在。
我应该在 gdb 中使用哪个命令来设置内存泄漏并检查堆?
I tried:
(gdb) check -leaks
checkpoint: can't find fork function in inferior.
(gdb) help info heap
Undefined info command: "heap". Try "help info".
(gdb) help info leaks
Undefined info command: "leaks". Try "help info".
正如人们指出的那样,Valgrind 是您的答案。通常,Valgrind 只会在程序执行结束时报告错误。您可以将 Valgrind 与 GDB 链接(vgdb
)在程序执行期间(当程序在 GDB 下运行时)转储 Valgrind 统计信息。
参考一个类似的问题:
转储 Valgrind 报告的丢失内存的内容 https://stackoverflow.com/questions/12663283/dumping-contents-of-lost-memory-reported-by-valgrind
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)