辅助代码工具:
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 二进制 (二进制的参数)