浅尝内存泄露检查工具Insure++在Linux_X64平台下得使用

首先安装Insure++, 按照说明展开安装文件install后,运行.install进行安装,一路默认值下去安装成功
使用:

第一步

修改profile文件,将insure的bin路径添加到PATH中

export PATH=$PATH:~/insure/bin

第二步

重新建立终端连接,到项目目录下检查修改Makefile文件
如果直接使用g++的,需要修改每一个g++为 insure g++
还好我是使用的CXX=g++方式,需要insure编译时只要在执行命令的时候使用

make CXX="insure g++"

即可,不用修改文件,就可以方便切换insure++编译版本和非Insure++编译版本
重新编译前,要先执行

make clean

做目录清理

第三步

运行编译后得程序,做内存泄露检查,呵呵一下看到一堆提示,慢慢研究提示信息含义。
后续代码效率、覆盖等功能等待进一步研究。

使用insure++编译过程中碰到的一个问题
所有文件编译完成后,在最后链接阶段提示

/usr/bin/ld: cannot find -ldl

这个在未使用insure++编译前,是没有出现这个错误得,
首先尝试修改 ~/insure/.psrc 文件,添加了

insure++.static_linking on

开关行,使用静态编译方式,结果链接时出现缺少一些inusre目录下得.a, .o文件,行不通
继续网上搜索,发现是少了符号链接 /usr/lib64/libdl.so,添加符号链接

ln -s /lib64/libdl.so.2 /usr/lib64/libdl.so

重新编译连接,问题消失,可以正常编译链接。

Popularity: 8% [?]

Random Posts

Comments

Comments are closed.