标签: c memory-management dynamic malloc free
我想知道在执行使用malloc()的程序之前使用了多少内存,以及在程序执行完毕后分配了多少内存。我想这样做是为了检查我的free()是否真正清理了我已经分配的所有内存。
malloc()
free()
当我以前做并发编程时,我使用ipcs知道在执行程序之前和之后分配了多少信号量,队列和共享内存。
ipcs
是否有相似的内容可以检查我们的malloc()和free()效率?
我正在运行ubuntu 16.04
非常感谢
答案 0 :(得分:1)
一个额外的回答点,valgrid有一个名为
地块
,这是一个堆分析器。它可用于分析整个程序中的堆使用情况。您还可以借助
和
ms_print
命令
可以找到更多信息和文档here
答案 1 :(得分:0)
我把@Felix Palmen评论作为有效答案; Valgrind工具完全符合我的需求。安装它:
sudo apt-get install libc6-dbg gdb valgrind
对于文档,这是官方的Valgrind网站。