[笔记分享] [Exception] 用户空间异常之Call Stack AP使用

AP Usage

上面两章描述了原理和实现部分。如果不想看原理如何实现,那么只看本章如何使用就可以了。
1. 当user space exception时,首先就可以从logcat中看到跟DEBUG这个tag有关的log信息,如:

[笔记分享] [Exception] 用户空间异常之Call Stack AP使用_第1张图片

  1. 这些log也会保存在/data/tombstones下,找到最新的文件,这里为Tue_Aug__2_08_23_07_2011,

[笔记分享] [Exception] 用户空间异常之Call Stack AP使用_第2张图片

  1. 将其拷至build pc。
  2. 在build pc上运行AP call_stack_converter, 注意后面所跟参数,第一个参数为build out目录, 我的为 /home/kris/1090/android/out/oret1R_bos/target/product/orange/,第二个参数为旧的log文件,也就是Tue_Aug__2_08_23_07_2011,第三个参数为产生新的log文件,也可不写,默认名为new_exception.log。如下例:

[笔记分享] [Exception] 用户空间异常之Call Stack AP使用_第3张图片

可以看到new.log中已经得到了call stack function name了。

[笔记分享] [Exception] 用户空间异常之Call Stack AP使用_第4张图片

Strcpy就是出问题的function处。

PS: build out的so和手机上的一定要同步更新,否则出来的map表有可能不对而找错function哦~


Reference

[1] Android_TRACE&EXCEPTION原理.doc
[2] android/system/core/debuggerd/debuggerd.c

你可能感兴趣的:(子类_Other)