您的位置:首页 > 运维架构 > Linux

valgrind检测linux程序内存泄露

2012-11-02 09:26 483 查看
1.可以在Valgrind Home下载最新版本;

2.解压之后,打开README文件,查看软件的安装方法,一般都是./configure make make install这三步;

3.检查是否安装正确:

valgrind ls -l


我安装的时候出现如下错误:

 #valgrind ls -l
==13544== Memcheck, a memory error detector
==13544== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==13544== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==13544== Command: ls -l
==13544==

valgrind: Fatal error at startup: a function redirection
valgrind: which is mandatory for this platform-tool combination
valgrind: cannot be set up. Details of the redirection are:
valgrind:
valgrind: A must-be-redirected function
valgrind: whose name matches the pattern: strlen
valgrind: in an object with soname matching: ld-linux.so.2
valgrind: was not found whilst processing
valgrind: symbols from the object with soname: ld-linux.so.2
valgrind:
valgrind: Possible fixes: (1, short term): install glibc's debuginfo
valgrind: package on this machine. (2, longer term): ask the packagers
valgrind: for your Linux distribution to please in future ship a non-
valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
valgrind: that exports the above-named function using the standard
valgrind: calling conventions for this platform. The package you need
valgrind: to install for fix (1) is called
valgrind:
valgrind: On Debian, Ubuntu: libc6-dbg
valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo
valgrind:
valgrind: Cannot continue -- exiting now. Sorry.


以上错误,是因为ubuntu还需要一个库:

sudo apt-get install libc6-dbg


安装完这个库之后再次运行valgrind ls -l

4.使用方式:

valgrind --tool=memcheck --leak-check=full ./main
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: