0

在 LINUX 中使用 Valgrind Massif 时,我尝试实时查看 massif.out.pid 文件,但在 Massif 执行完成后会生成此文件。我想在代码中放置断点来观察某些指令对堆的影响,因为只有几个兴趣点。我知道我可以重写一些代码来管理它,但这意味着以一种不会成为最终结果的方式影响主题代码,因为它们是我想要执行此操作的众多程序。有没有办法在观察分析器分析堆的同时观察代码中的点,所以我可以区分执行点?

4

2 回答 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 回答