在 LINUX 中使用 Valgrind Massif 时,我尝试实时查看 massif.out.pid 文件,但在 Massif 执行完成后会生成此文件。我想在代码中放置断点来观察某些指令对堆的影响,因为只有几个兴趣点。我知道我可以重写一些代码来管理它,但这意味着以一种不会成为最终结果的方式影响主题代码,因为它们是我想要执行此操作的众多程序。有没有办法在观察分析器分析堆的同时观察代码中的点,所以我可以区分执行点?
问问题
964 次
2 回答
1
显然Linux中有一个可以提供实时数据的工具,我没有尝试过,但在额外的谷歌搜索后找到了它。它被称为 heaptrack ,显然它可以在程序运行时跟踪堆:
http://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux
于 2018-10-10T20:35:30.320 回答
0
在要查看内存堆使用情况的代码中写入 sleep(0.5)。然后使用 heaptrack ./app 执行应用程序,然后使用 heaptrack_gui app.heaptrack.gz 打开结果文件
转到已消耗的水龙头并按时间线检查内存使用情况。
于 2019-12-26T10:24:14.703 回答