linux应用程序行为跟踪工具,跟踪和可视化Linux中pthread行为的工具

Valgrind的工具套件[Linux和OS / X]

我已经使用过Memcheck,它的工作方式与广告宣传的一样。但是我还没有使用可视化工具。不确定Helgrind的输出是否可以通过kCachegrind进行查看。

Valgrind发行版包括四个[sic]有用的调试和性能分析工具:

Memcheck可检测内存管理问题,并且主要针对C和C ++程序。当程序在Memcheck的监视下运行时,将检查所有内存读取和写入,并拦截对malloc / new / free / delete的调用。结果,Memcheck可以检测您的程序是否:

访问不应该访问的内存

以危险的方式使用未初始化的值。

内存泄漏。

释放堆块的不良释放(两次释放,不匹配的释放)。

将重叠的源和目标内存块传递给memcpy()和相关函数。

Memcheck会立即报告这些错误,并提供发生错误的源代码行...

Cachegrind是一个缓存分析器。它可以对CPU中的I1,D1和L2缓存进行详细的仿真,因此可以准确地在代码中查明缓存未命中的原因...

Josegri Weidendorfer的Callgrind是Cachegrind的扩展。它提供了Cachegrind所做的所有信息,以及有关调用图的其他信息。它已折叠到3.2.0版的主要Valgrind发行版中。单独提供的还有一个很棒的可视化工具KCachegrind,它可以更好地概述Callgrind收集的数据。它也可以用于可视化Cachegrind的输出。

Massif是堆分析器。它通过定期捕获程序堆的快照来执行详细的堆分析。它会生成一个图表,显示一段时间内的堆使用情况,包括有关程序的哪些部分负责最多内存分配的信息...

Helgrind是一个线程调试器,可在多线程程序中查找数据竞争。它查找由多个(POSIX p-)线程访问的内存位置,但是找不到始终使用的(pthread_mutex_)锁。这样的位置指示线程之间缺少同步,并且可能导致难以找到的时序相关问题。这对于使用pthread的任何程序都是有用的。这是一种实验工具,因此在这里特别欢迎您提供反馈。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值