【问题标题】:Valgrind massif combine snapshotsValgrind地块组合快照
【发布时间】:2019-06-21 03:50:05
【问题描述】:

我正在尝试使用massif 工具分析应用程序。我用这个命令运行它:

./valgrind.bin  --tool=massif --stacks=yes --heap=yes --trace-children=yes --vgdb=yes /usr/bin/agl_proxy

应用程序运行了很长时间。通常,当应用程序接收到中断信号时,它会干净利落地完成,massif 会生成一个包含许多快照的配置文件:

desc: --stacks=yes --heap=yes
cmd: /usr/bin/app
time_unit: i
#-----------
snapshot=0
#-----------
time=0
mem_heap_B=0
mem_heap_extra_B=0
mem_stacks_B=0
heap_tree=empty
#-----------
snapshot=1
#-----------
time=4501979
mem_heap_B=0
mem_heap_extra_B=0
mem_stacks_B=1480
heap_tree=empty

然而,这个特定的应用程序只是转储库存并挂起而没有正确退出,因此没有正确地生成结果文件。我可以使用vgdb 在应用程序运行时获取快照。但它只生成一个快照。

有没有办法合并快照?我尝试将快照添加到带有snapshot=# 标头的文件中,但MassifVisualizer 抱怨格式。也许可以选择将它们或某些工具结合起来。

【问题讨论】:

    标签: valgrind massif


    【解决方案1】:

    使用 vgdb,您可以通过以下监控请求要求 massif 转储所有快照:

    all_snapshots [<filename>] requests to take all captured snapshots so far and save them in the given <filename> (default massif.vgdb.out). 
    

    【讨论】:

      猜你喜欢
      • 2021-06-09
      • 1970-01-01
      • 2020-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多