【发布时间】:2011-12-05 07:06:07
【问题描述】:
我已经通过valgrind 运行了我的代码,结果如下:
==4492== Memcheck,内存错误检测器
==4492== 版权所有 (C) 2002-2009 和 GNU GPL,由 Julian Seward 等人提供。
==4492== 使用 Valgrind-3.5.0 和 LibVEX;使用 -h 重新运行以获取版权信息
==4492== 命令:./mem
==4492== 父 PID:4455
==4492==
==4492==
==4492== 堆摘要:
==4492== 在退出时使用:0 个块中的 0 个字节
==4492== 总堆使用量:19,595,342 分配,19,595,342 释放,27,194,270 字节分配 ==4492==
==4492== 所有堆块都被释放——不可能有泄漏
==4492==
==4492== 对于检测到和抑制的错误计数,重新运行:-v
==4492== 错误摘要:0 个上下文中的 0 个错误(抑制:4 个来自 4 个)
但是,当代码运行时,我看到程序使用的内存有小幅稳定增长。我对这个结果有多大把握?
我使用 valgrind 运行:
valgrind --track-origins=yes --leak-check=yes
--tool=memcheck --read-var-info=yes --log-file=error.txt`
我使用-g 和-march=core2 标签编译程序。
【问题讨论】:
-
不要被操作系统静默完成的进程缓存所迷惑。
标签: c++ memory-leaks valgrind