64位LINUX下如何安装32位valgrind,并对32位应用程序进行内存检查

Wang_Peter 发布于 2018/01/18 17:48
阅读 523
收藏 0

1. 到www.valgrind.org下载最新版valgrind-3.12.0.tar.bz2

2. 解压安装包:tar –jxvf valgrind-3.12.0.tar.bz2

3. 解压后生成目录valgrind-3.12.0

4. cd valgrind-3.12.0

5. 运行./autogen.sh设置环境(需要标准的autoconf工具)(可选)

6. ./configure;配置Valgrind,生成MakeFile文件,具体参数信息详见INSTALL文件。一般只需要设置--prefix=/where/you/want/it/installed:如./configure --prefix=/usr/local/valgrind,若不进行—prefix设置,将无法进行以后的安装后拷贝(第10步),也不用执行后面的路径设置(第9步)

7. make;编译Valgrind

8. make install;安装Valgrind

9.(若指定了—prefix: 则因为上面编译安装的时候指定了安装目录,所以还需要把valgrind的bin目录路径添加到环境变量PATH中。否则只能使用全路径来运行valgrind。把它写入到~/.bashrc文件中。打开~/.bashrc文件,然后在最后添加一行PATH=${PATH}:/usr/local/valgrind/bin,之后使用source ~/.bashrc来更新一下)

10、若将上述的valgrind拷贝到其它其它机器上,需将valgrind/bin 和valgrind/lib下的文件进行chmod a+x操作,并在~/.bashrc添加对应的路径。

 

我首先将valgrind 安装在32位linux(/usr/local/valgrind),然后将文件安装在另外一台64位LINUX。打开~/.bashrc文件,然后在最后添加一行PATH=${PATH}:/usr/local/valgrind/bin,之后使用source ~/.bashrc来更新一下)。使用valgrind --tool=memchek 时出现failed to start tool 'memcheck' for platform 'x86-1linux'.  valgrind 和被检测文件,我已使用file 检查过,32位的。

 

在此,先谢谢!

 

 

 

加载中
0
OSC_eDukCM
OSC_eDukCM
没有安装后这个软件,但是感觉是不是通过安装ia32类似的兼容包可以解决,只是个人感觉而已
0
淡定的wo
淡定的wo

首先不清楚为什么你不直接编译64位版本的valgrind,导致出现这种复杂的问题。

其次,在64位平台上,你直接运行32位valgrind是不行的。因为valgrind依赖32位的libc,你可以在32位系统和64位系统上执行 ldd /usr/bin/valgrind,对比看看区别。

0
W
Wang_Peter

被检查的程序,是32位的,但运行在64位OS LINUX,所以 导致64位OS LINUX下,运行32位valgrind检查32位应用程序的问题

返回顶部
顶部