valgrind
文章平均质量分 90
swartz_lubel
这个作者很懒,什么都没留下…
展开
-
Valgrind快速入门指南
Valgrind快速入门指南介绍Valgrind工具套件提供了许多调试和分析工具,可帮助您更快更准确地完成程序。这些工具中最受欢迎的名为Memcheck。它可以检测C和C ++程序中常见的许多与内存相关的错误,并可能导致崩溃和不可预测的行为。本指南的其余部分提供了使用Memcheck开始检测程序中的内存错误所需的最少信息。有关Memcheck和其他工具的完整文档原创 2017-06-12 18:43:23 · 424 阅读 · 0 评论 -
Nulgrind:最小的Valgrind工具
14.1。概观要使用此工具,必须--tool=none在Valgrind命令行上指定 。14.1。概观Nulgrind是最简单的Valgrind工具。它不执行程序的测试或分析,只是正常运行。它主要用于Valgrind的开发人员进行调试和回归测试。尽管如此,您可以使用Nulgrind运行程序。他们的运行速度比正常慢5倍,没有任何效果。请注意,您需要使用该选项--t原创 2017-06-12 19:46:55 · 491 阅读 · 0 评论 -
Lackey:一个示例工具
目录13.1。概观13.2。Lackey命令行选项要使用此工具,必须--tool=lackey在Valgrind命令行上指定 。13.1。概观Lackey是一个简单的Valgrind工具,可进行各种基本程序测量。它为程序的代码添加了很多简单的工具。它主要是作为一个示例工具使用,因此强调实现的清晰度超过性能。13.2。Lackey命令行选项La原创 2017-06-12 19:46:25 · 1613 阅读 · 0 评论 -
BBV:实验基本块向量生成工具
目录12.1。概观12.2。使用基本块向量创建SimPoints12.3。BBV命令行选项12.4。基本块向量文件格式12.5。履行12.6。线程可执行支持12.7。验证12.8。性能要使用此工具,必须--tool=exp-bbv在Valgrind命令行上指定 。12.1。概观基本块是具有一个入口点和一个出口点的代码的线性部分。甲基本块矢量(BBV)是程序执行过原创 2017-06-12 19:45:49 · 2895 阅读 · 0 评论 -
SGCheck:一个实验堆栈和全局数组溢出检测器
目录11.1。概观11.2。SGCheck命令行选项11.3。SGCheck如何工作11.4。与Memcheck进行比较11.5。限制11.6。仍然要做:用户可见的功能11.7。仍然要做:实施整顿要使用此工具,必须--tool=exp-sgcheck在Valgrind命令行上指定 。11.1。概观SGCheck是一种查找堆栈和全局数组超量的工具。它通过使用从关于堆栈原创 2017-06-12 19:45:14 · 781 阅读 · 0 评论 -
DHAT:动态堆分析工具
目录10.1。概观10.2。了解DHAT的输出10.2.1。解释max-live,tot-alloc和deaths字段10.2.2。解释比例字段10.2.3。解释“通过偏移量进行聚合访问计数”数据10.3。DHAT命令行选项要使用此工具,必须--tool=exp-dhat在Valgrind命令行上指定 。10.1。概观DHAT是一个用于检查程序如何使用其原创 2017-06-12 19:44:43 · 1277 阅读 · 0 评论 -
分区:堆分析器
目录9.1。概观9.2。使用Massif和ms_print9.2.1。示例程序9.2.2。运行区块9.2.3。运行ms_print9.2.4。输出序言9.2.5。输出图9.2.6。快照详情9.2.7。分岔程序9.2.8。测量过程中的所有内存9.2.9。代理信息资料9.3。Massif命令行选项9.4。Massif监视器命令9.5。Massif客户端请求9.6。ms_print命令行选项原创 2017-06-12 19:44:01 · 732 阅读 · 0 评论 -
DRD:线程错误检测器
目录8.1。概观8.1.1。多线程编程范例8.1.2。POSIX线程编程模型8.1.3。多线程编程问题8.1.4。数据竞赛检测8.2。使用DRD8.2.1。DRD命令行选项8.2.2。检测到的错误:数据竞赛8.2.3。检测到的错误:锁定争用8.2.4。检测到的错误:滥用POSIX线程API8.2.5。客户端请求8.2.6。调试C ++ 11程序8.2.7。调试GNOME程序8.2.原创 2017-06-12 19:43:22 · 1149 阅读 · 0 评论 -
Helgrind:螺纹错误检测器
目录7.1。概观7.2。检测到的错误:POSIX pthread API的滥用7.3。检测到的错误:锁定排序不一致7.4。检测到的错误:数据竞赛7.4.1。简单数据竞赛7.4.2。Helgrind的种族检测算法7.4.3。解释竞赛错误讯息7.5。有效使用Helgrind的提示和提示7.6。Helgrind命令行选项7.7。Helgrind监视器命令7.8。Helgrind客户端请求7.原创 2017-06-12 19:42:36 · 758 阅读 · 0 评论 -
Callgrind:调用图生成缓存和分支预测分析器
目录6.1。概观6.1.1。功能6.1.2。基本用法6.2。高级用法6.2.1。从一个程序运行多次分析转储6.2.2。限制收集事件的范围6.2.3。计算全球巴士事件6.2.4。避免循环6.2.5。分岔程序6.3。Callgrind命令行选项6.3.1。转储创建选项6.3.2。活动选项6.3.3。数据收集选项6.3.4。成本实体分离选项6.3.5。模拟选项6.3.6。缓存模拟原创 2017-06-12 19:41:18 · 4572 阅读 · 0 评论 -
Cachegrind:缓存和分支预测分析器
目录5.1。概观5.2。使用Cachegrind,cg_annotate和cg_merge5.2.1。运行Cachegrind5.2.2。输出文件5.2.3。运行cg_annotate5.2.4。输出序言5.2.5。全局和功能级别计数5.2.6。逐行计数5.2.7。注释汇编代码程序5.2.8。分岔程序5.2.9。cg_annotate警告5.2.10。异常注释案例5.2.11。将配置文件与原创 2017-06-12 19:40:23 · 5315 阅读 · 0 评论 -
Memcheck:一个内存错误检测器
目录4.1。概观4.2。来自Memcheck的错误消息说明4.2.1。非法读取/非法写入错误4.2.2。使用未初始化的值4.2.3。在系统调用中使用未初始化或不可寻址的值4.2.4。非法释放4.2.5。当一个堆块被释放不正当的解除分配功能4.2.6。重叠的源和目标块4.2.7。有趣的参数值4.2.8。内存泄漏检测4.3。Memcheck命令行选项4.4。编写抑制文件4.5。Memche原创 2017-06-12 19:39:38 · 2027 阅读 · 0 评论 -
使用和了解Valgrind核心:高级主题
目录3.1。客户端请求机制3.2。使用Valgrind gdbserver和GDB调试程序3.2.1。快速入门:3步调试3.2.2。Valgrind gdbserver整体组织3.2.3。将GDB连接到Valgrind gdbserver3.2.4。连接到Android gdbserver3.2.5。监视Valgrind gdbserver的命令处理3.2.6。Valgrind gdbse原创 2017-06-12 19:32:54 · 3572 阅读 · 0 评论 -
使用和了解Valgrind核心
使用和了解Valgrind核心目录2.1。Valgrind与您的程序一致2.2。入门2.3。评论2.4。报告错误2.5。抑制错误2.6。核心命令行选项2.6.1。工具选择选项2.6.2。基本选项2.6.3。错误相关选项2.6.4。malloc相关选项2.6.5。不常见的选项2.6.6。调试选项2.6.7。设置默认选项2.7。支持线程2.7.1。调度和多线程性能2.8原创 2017-06-12 18:51:07 · 1635 阅读 · 0 评论 -
Valgrind概述
1.1。Valgrind概述1.2。如何浏览本手册1.1。Valgrind概述Valgrind是构建动态分析工具的工具框架。它配有一组工具,每个工具都执行某种调试,分析或类似任务,可以帮助您改进程序。Valgrind的架构是模块化的,因此可以轻松创建新工具,而不会影响现有的结构。标准提供了许多有用的工具。Memcheck是一个内存错误检测器。它可以帮助您原创 2017-06-12 18:47:29 · 470 阅读 · 0 评论 -
使用valgrind检查内存问题
作者:gfree.wind@gmail.com博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net 本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。===================转载 2017-06-14 18:18:40 · 348 阅读 · 0 评论