首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux下检测内存泄露的工具 valgrind

    分配的内存块 4)读/写不适当的栈中的内存块 5)内存泄漏,指向一块内存的指针永远丢失 6)不正确的malloc/free或new/delete匹配 7)memcpy相关函数中的dst和src指针重叠 2.Callgrind...Callgrind收集程序运行时的一些数据,建立函数调用关系图,还可以有选择的进行cache模拟。...在运行结束时,它会把分析数据写入一个文件,callgrind_annotate可以把这个文件的内容转化成可读的形式。...2.下面来试试callgrind: ? 可以看到生成了一个文件(绿色框框)。...当callgrind运行你的程序时,还可以使用callgrind_control来观察程序的执行,而且不会干扰它的运行: 下面显示如何查看详细信息: ? 3.再来试试cachegrind: ?

    6K100

    Valgrind 使用入门

    正常编译目标程序同上; b. valgrind --tool=callgrind -v Your_Programme [Your_Programe_Option]; c....--tool=callgrind 表示使用调用检测工具,同样,建议在前台运行; d. 由于 callgrind 的原理是时间点采样,所以被测程序最好在合适的压力下运行合适长的时间; e....查看结果,运行完后,将输出 callgrind.out.PID 文件,该文件可被 gprof2dot 等工具解析转化为 dot,再由 dot 转化为图片输出,也可以直接用 callgrind_annotate...直接解析打印,但最方便的是使用图形工具解析,如 windows 上的 qcachegrind; f. qcachegrind 安装略,以下是 qcachegrind 打开上述 callgrind.out.PID...最后: 在 callgrind 的调用图中发现这个: 它是什么呢,有什么用呢? 在下篇文章《ld_XXXX.so 在你不小心 rm -f /* 时的作用》在聊 :D

    7.9K00

    Linux性能分析工具与图形化方法

    valgrind自身包含了多个工具: Memcheck:用于内存泄漏检查 Callgrind:用于性能分析,会收集程序运行时间和调用关系 以及Cachegrind、Helgrind等 这里我们主要使用的...Callgrind工具 3.2 使用方法 首先需要安装valgrind:http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2 解压安装包后,顺次执行.../configue 、make、make install 就可以了 使用valgrind来分析性能,必须使用valgrind来启动程序: valgrind --tool=callgrind --separate-threads...程序执行结束后,会生成形如:callgrind.out.4263-01的文件。...这是打开callgrind.out.4263-01的结果: 1520932062_54_w975_h823.png 四、工具比较 对于我们的需求:定位执行时间最长、占用CPU最多的函数 来说,这三个工具都可以达到目的

    8.7K311

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券