辅助阅读代码

辅助代码工具:

1、sourcetrail
2、valgrind , qcachegrind

sourcetrail,可以生成类图,以及类之间,函数之间的调用关系

1、安装
2、使用该工具需要使用cmake 编译一次
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON 其他的cmake 需要命令
3、构建project,添加group
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于这里,我编译了cmake,所以选择第一个。
但是我还是建议大家使用第二个方法,编译的会更加全面。
至于里面的参数主要包含,编译需要的头文件,编译选项等。大家可以自己研究一下。很简单

在这里插入图片描述

至此就可以了

Valgrind 是一款用于内存调试、内存泄漏检测以及性能分析的开源工具集,它包含多个工具,其中一些工具可以生成图形化的输出以帮助用户更好地理解程序的行为。以下是 Valgrind 中可以显示图形的工具:

KCachegrind/qcachegrind:
KCachegrind/ qcachegrind 是一个图形化的性能分析工具,它可以读取 Callgrind 生成的调用图数据,并以图形化的方式展示出来。它提供了丰富的可视化选项,包括火焰图(Flame Graph)、调用树(Call Tree)等,可以帮助用户快速定位性能瓶颈。
Massif:
Massif 是一个堆分析器,它可以生成随时间推移的堆使用情况图表。这个图表显示了程序的哪些部分负责最多的内存分配,并且可以通过文本或 HTML 文件来提供更多的详细信息。虽然 Massif 本身不直接生成图形,但它生成的数据可以被其他工具(如 KCachegrind)用来生成图形。
Callgrind:
虽然 Callgrind 本身并不直接生成图形,但它可以收集程序运行时的数据,并建立函数调用关系图。这些数据可以被其他工具(如 KCachegrind)用来生成图形化的调用图。此外,Callgrind 还支持 cache 模拟,并可以将分析数据写入一个文件,该文件可以被其他工具读取并转化为可读的形式。
Helgrind:
Helgrind 是一个线程调试器,用于检测多线程程序中的数据竞争。虽然它本身不直接生成图形,但它可以找出被多个线程访问但缺少同步的内存位置,这些位置可能会导致难以发现的时序相关问题。Helgrind 的输出通常以文本形式呈现,但你可以使用其他工具(如文本编辑器或 IDE)来查看和分析这些输出。

valgrind --tool=callgrind 二进制 (二进制的参数)

在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值