valgrind产生了非常大的xtree

时间:2018-05-16 03:19:19

标签: valgrind massif

valgrind 3.13支持xtree http://valgrind.org/docs/manual/dist.news.html

我用它与massif

 valgrind --tool=massif --xtree-memory=full --xtree-memory-file=xtmemory.ms.%p 

然后它生成了一个16G文件。使用massif可视化器加载它太大了。使用xtree-memory

的最佳做法是什么

1 个答案:

答案 0 :(得分:1)

massif报告包含非详细快照和一些详细快照。 详细快照仅显示已分配的内存。 低于质量阈值的堆栈跟踪将重新分组 一起(即没有给出下面的堆栈轨迹的细节 阈值)。

使用--xtree-memory = full请求的xtree包含6个不同的详细信息 快照,给出当前分配的字节/块,总分配的字节/块,总释放的字节/块。 此xtree报告没有阈值过滤,因此如果 你的应用程序有很多堆栈跟踪做的很小 分配或免费的比例,你将有更多的数据 massif xtree报告比快照中的报告。

而不是使用.ms格式的--xtree-memory-file,您可能更愿意 使用.kcg格式,并使用kcachegrind检查它:kcachegrind 格式更有效地存储大量的堆栈跟踪。

参见http://www.valgrind.org/docs/manual/manual-core.html#manual-core.xtree 了解更多背景信息。