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

Valgrind’s Tool Suite [Linux和OS / X]

我使用的是Memcheck,它的作用是广告。我还没有使用可视化工具。不知道Helgrind的输出是否可以通过kCachegrind进行查看。

Valgrind分发包括四个有用的调试和分析工具:

> Memcheck检测内存管理问题,主要针对C和C程序。当一个程序在Memcheck的监督下运行时,会检查所有的内存读写操作,并且拦截对malloc / new / free / delete的调用。因此,Memcheck可以检测您的程序:

访问内存不应该…

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

泄漏记忆

堆块坏掉(双重释放,不匹配释放)。

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

Memcheck会在发生错误时立即报告这些错误,提供发生错误的源代码行号…

Cachegrind是一个缓存分析器。它可以对您的CPU中的I1,D1和L2高速缓存进行详细的仿真,因此可以准确地定位代码中的高速缓存未命中源。

> Callgrind,由Josef Weidendorfer提供,是Cachegrind的扩展。它提供了Cachegrind所做的所有信息,以及关于callgraphs的额外信息。它被折叠成版本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、付费专栏及课程。

余额充值