有没有一种简单的方法可以知道程序中每个malloc分配的总内存量? 我正在遭受内存泄漏的困扰,我想找出是哪里出了问题。
malloc
,是的,你可以获得你要求的内存大小,没有多余的空间 :-)mallinfo
函数,您可以调用它来获取整个内存区域的统计信息,如果您想知道已分配的总内存量。你可以研究一下,但同样,这不是标准的做法。使用valgrind
来帮助调试潜在的内存泄漏。
如果您想进行一些C语言调试,glibc
有一些函数可以帮助您使用malloc
进行调试。
用于malloc的钩子
http://www.gnu.org/software/libc/manual/html_node/Hooks-for-Malloc.html
堆一致性检查http://www.gnu.org/software/libc/manual/html_node/Heap-Consistency-Checking.html
使用malloc进行内存分配的统计数据
http://www.gnu.org/software/libc/manual/html_node/Statistics-of-Malloc.html