asan版本适配指导操作流程(5.0为例)
1. 获取需要适配asan版本的工程代码 2. 修改必要的asan编译报错 (有些代码正式版本没有报错 asan版本特有)sig仓 修改编译报错路径: \developtools\profiler\bundle.json 中删除 "//developtools/profiler/hiebpf:hiebpf_tool" 3. 调整sig仓 s
1. 获取需要适配asan版本的工程代码
2. 修改必要的asan编译报错 (有些代码正式版本没有报错 asan版本特有)
sig仓 修改编译报错
路径: \developtools\profiler\bundle.json 中删除 "//developtools/profiler/hiebpf:hiebpf_tool"
3. 调整sig仓 system.img 和 vendor.img 分区大小 (asan版本比一般版本的有两套so 正常版本so asan版本需要的内存和空间比平常版本要大)
路径:build\ohos\images\mkimage\system_image_conf.txt 4365918336 or 6442448896
路径:build\ohos\images\mkimage\vendor_image_conf.txt 468434944
4. 调整sig仓 system_image 镜像分区大小 5000 (默认3000) 配置镜像大小
路径: sig_laval_make_pac/pac/ImageFiles/src_uis7885_2h10.xml <Partition id="system" size="5000"/> or 7000
5. 全量服务编译指令:
5.1 laval工程 编译laval工程 (产品配置相关的工程)
./build/common/asan/build_mixed_asan.sh --product-name oriole --ccache --build-variant root --target-cpu arm64 --no-data-asan --no-prebuilt-sdk
5.2 sig工程 (服务应用相关的工程)
./build.sh --product-name oriole --ccache --patch
./build/common/asan/build_mixed_asan.sh --product-name oriole --ccache --build-variant root --target-cpu arm64 --no-data-asan 若有编译报错可能需要删掉 正常镜像的中间产物然后进行尝试
6. 组成完整的asan包并进行烧录
./sig_laval_make_pac/make_pac (5.0 需要把sig仓 和 laval仓同时打包生成完整的镜像)
导入laval工程 out/xxxx/packages/phone/image 目录下的pac包进行烧录
7. 设置开启asan的应用 或者 服务 (asan版本默认是不进行配置 需要手动打开)
设备/etc/param/sanitizerd.para 文件内容如下 wrap.xxx=asan_wrapper xxx代码具体的服务和应用
wrap.com.ohos.photos=asan_wrapper // com.ohos.photos 为应用的进程名
wrap.hilogd=asan_wrapper // hilogd 为系统服务的进程
服务应用一般分开进行配置 服务应用自定义随系统本身的承压能力 5.0 服务可以一起配置
8. asan.options配置文件设置配置asan具体检测项 /etc 目录 具体的文件内容如下 1代表支持 0不支持
9. 重启设备然后确认配置的应用或者服务是否加载的asan目录下的so
打开应用或者拉起服务,查询进程号: 指令ps -ef | grep xxxx, 然后cat /proc/进程号/maps |grep asan ,
查询是否加载的/system/asan/目录下的so, 如果是说明版本编译和设置都成功,可以压测复现问题,
如果没有加载相关so则说明版本未生效 需要查询上述配置流程。
10. asan故障日志反编译
asan问题日志目录在设备 /data/log/sanitizer/ubsan 该目录下 有log文件生成就说明有asan问题报错 需要处理
11. asan 问题分析处理
取了asanlog 需要借助反编译工具 addr2line 完成反编译流程 (需要安装python工具)
可以实现整个文件 或者 单个so的反编译均可 如果有cppcrash类型报错可以参照
[OpenHarmony稳定性测试问题定界思路_shuguang-Laval社区](https://laval.csdn.net/64a52f644b952377a23e168b.html)
12. 稳定性场景问题压测
更多推荐
所有评论(0)