APK的Native库使用Address Sanitizer分析内存异常访问(Android.bp)

官网文档介绍了如何使能Address Sanitizer和运行时控制它的行为

https://developer.android.google.cn/ndk/guides/asan?hl=zh-cn

https://source.android.google.cn/devices/tech/debug/asan?hl=zh_cn

https://github.com/google/sanitizers/wiki

本文接下来主要是对官网的补充:

1、Android.bp构建Native代码时如何使能Address Sanitizer功能

cc_library_shared {
name: "libnative_test",

cflags: [
    "-fno-omit-frame-pointer",
    "-O0",
],

sanitize: {
    address: true;//使能Address Sanitizer
    hwaddress: true;//使能HW Address Sanitizer
},
}

cflags增加"-fno-omit-frame-pointer"和"-O0"选项,为了让打印的栈信息更清晰

address和hwaddress字段不能一起使能,

2、AndroidManifest.xml中android:extractNativeLibs=true如果不配置采用默认值可能会出现APK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值