AddressSanitizer 和 valgrind 和mprotect+libseg。。。

1)./configure --prefix=/home/xiaoming/valgirnd-install/
    --enable-only32bit \
//linux32 ./configure
//若有configure关于glibc版本问题可以修改configure中版本检测:加上本地glibc的版本支持
make
make install
//测试后因为程序有大数组,错误:
valgrind ./fudao
valgrind: mmap(0x80ad000, 2154954752) failed in UME with error 22 (Invalid argument).
valgrind: this can be caused by executables with very large text, data or bss segments
//看看addresssannitizer怎么样?
2) 安装32bit AddressSanitizer => gcc版本高于4.8已经有了改功能。
此外,需要安装的库:libasan.x86_64,新版本的gcc可能还需要安装libubsan,gcc默认安装这写库。 
//查找yum安装库:yum search libasan,发现libasan多个库;
//然后安装32位版本动态库:yum install libasan.i686

-fsanitize=address    #开启地址越界检查功能

-fno-omit-frame-pointer  #开启后,可以出界更详细的错误信息

//-fsanitize=leak   #开启内存泄露检查功能//本地显示不支持这个选项?


3.but,run error:

Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING.


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值