valgrind massif堆探查器无详细快照视图-如何放大/缩小? >我想在Ubuntu 18 中查看我的C++程序的堆内存使用情况
我使用以下方法运行它:valgrind massif堆探查器无详细快照视图-如何放大/缩小? >我想在Ubuntu 18 中查看我的C++程序的堆内存使用情况,ubuntu,valgrind,massif,Ubuntu,Valgrind,Massif,我使用以下方法运行它: valgrind--tool=massif--smc check=all./myprogram 我得到了相当大的输出,这是正常的。我使用massif visualizer查看它 我得到了一张漂亮的图表和所有这些。但我想在节目结束时详细看看它的关闭情况。但我似乎无法放大图形视图,而且我看不到可以这样做的选项 manpage()表示: Massif生成了一些详细的快照,这些快照基本上构成了 那棵树。如果你愿意 要以比简单树状视图更舒适的方式获取概览,请切换到 详细的快照选项卡
valgrind--tool=massif--smc check=all./myprogram
我得到了相当大的输出,这是正常的。我使用massif visualizer查看它
我得到了一张漂亮的图表和所有这些。但我想在节目结束时详细看看它的关闭情况。但我似乎无法放大图形视图,而且我看不到可以这样做的选项
manpage()表示:
Massif生成了一些详细的快照,这些快照基本上构成了
那棵树。如果你愿意
要以比简单树状视图更舒适的方式获取概览,请切换到
详细的快照选项卡,并查看可视化为调用图的树。放大、缩小、使用
鸟瞰视图,查看给定快照的组成部分。请注意,函数调用
使用相同的内存成本进行分组,以便轻松找到感兴趣的部分
但我看不到“切换到详细快照选项卡”
”的选项。。。还有人知道怎么做吗
Ubuntu 18
massif visualizer 0.7可以使用kcachegrind来可视化内存,而不是massif visualizer 使用valgrind 3.13中出现的新“xtree功能” 以下是valgrind的摘录--帮助: 替代malloc的Valgrind工具的用户选项: --alignment=设置堆分配的最小对齐方式[16] --redzone size=设置之前/之后添加的redzone的最小大小 堆块(字节)。[16] --xtree memory=none | allocs | xtree中的完整配置文件堆内存[none] 并在执行结束时生成报告 无:无配置文件,分配:当前已分配 大小/块,完整:配置文件当前和累积 分配的大小/块和释放的大小/块。 --xtree内存文件=xtree内存报告文件[xtmemory.kcg.%p] 看
更多信息。谢谢,博士,我试了一下并阅读了文档。但我不太明白如何使用kcachegrind轻松地可视化堆内存。我可以看每一条“线”来看看发生了什么——但这需要几年才能完成!。。。你能详细介绍一下如何随着时间的推移可视化内存,然后“放大”查看具体的增加/减少吗。。。现在加1,虽然我不知道xree:)在你的问题中,你表示“但我想在我的程序结束时详细查看”。为此,您可以使用massif,但还可以添加--xtree memory=full。使用此选项,您将获得一个可以加载到kcachegrind中的xtree内存文件。然后,您可以使用kcachegrind的图形视图来扫描关闭时仍有大量内存分配的函数调用序列。如果要搜索分配了大量已释放内存的调用序列,请切换到kcachegrind中的“total allocated”事件。您可能还想查看以下位置的fosdem演示文稿/幻灯片。有关以kcachegrind格式提供massif详细快照或峰值快照的问题:此类功能在massif中不可用(尚未提供?)。非常感谢您提供的信息:)
user options for Valgrind tools that replace malloc:
--alignment=<number> set minimum alignment of heap allocations [16]
--redzone-size=<number> set minimum size of redzones added before/after
heap blocks (in bytes). [16]
--xtree-memory=none|allocs|full profile heap memory in an xtree [none]
and produces a report at the end of the execution
none: no profiling, allocs: current allocated
size/blocks, full: profile current and cumulative
allocated size/blocks and freed size/blocks.
--xtree-memory-file=<file> xtree memory report file [xtmemory.kcg.%p]