如何使用基本的c示例运行valgrind
How to run valgrind with basic c example?
安装:
bzip2 -d valgrind-3.10.1.tar.bz2
tar -xf valgrind-3.10.1.tar
然后:
./configure
make
make install
或更简单的
sudo apt-get install valgrind
如何在这个简单的程序上运行valgrind示例1.c
#include <stdlib.h>
int main()
{
char *x = malloc(100); /* or, in C++, "char *x = new char[100] */
return 0;
}
运行:
valgrind --tool=memcheck --leak-check=yes example1
valgrind: example1: command not found
控制台输出:
valgrind: example1: command not found
看起来不错。您只需要在可执行文件之前添加一个./
。如果没有它,valgrind
将无法找到它并报告'command not found'
。
valgrind --tool=memcheck --leak-check=yes ./example1
^
首先,编译你的C程序(-g非常重要;如果可执行文件中没有调试信息,valgrind无法告诉你发生违规的源代码的行号,也无法告诉你被违规的内存分配的原始行。):
gcc -g example1.c -o example1
然后在可执行文件上运行valgrind:
valgrind --tool=memcheck --leak-check=yes ./example1
相关文章:
- valgrind-hellgrind与泄漏检查的结果不同
- 运行同一解决方案的另一个项目的项目
- valgrind:当试图调试在Docker容器内运行的C++程序时,堆块lo/hi大小不匹配
- 如何为服务器运行valgrind?
- 使用Valgrind时,偶尔的BOOST :: ASIO TCP服务器故障在Localhost上运行
- 通过Valgrind运行时,SQLite为什么会存储不同的值
- 寻找一种在运行时检测 valgrind/memcheck 的方法,而无需包含 valgrind 标头
- Valgrind中的分割故障,但实际运行中没有
- 如何使用基本的c示例运行valgrind
- 是否可以在代码的一部分上运行 valgrind
- Valgrind 报告了许多在运行之间更改的地方的内存泄漏
- 如何将 valgrind 与正在运行的进程相关联
- 如何在运行时使用Valgrind检查实际内存泄漏
- C++二进制文件在使用valgrind运行时执行良好,但在单独运行此二进制文件时失败
- 查找正在运行哪个版本的valgrind
- GCC '-M32' 选项在不运行 Valgrind 时更改浮点舍入
- 是否有可能valgrind报告我的程序正确运行的致命错误?
- 在valgrind下使用framewave库运行程序时是否存在问题
- Linux - 运行 valgrind 时不会出现源文件/行
- 运行valgrind/其他内存检查通过eclipse luna在Windows-8 64位