验证 Android Tombstone 是不是工作

验证 Android Tombstone 是否工作

参考 http://blog.****.net/span76/article/details/44225415, 编写一个必然crash的程序


#include <stdio.h>


void f() {
  char *c=0;
    *c=0;


}

int main (void)
{
  printf("hello world");
  f();
  return 0;
}

编译后复制到 system/bin 下面


而后adb shell 登陆到device上运行,系统报告Segmentation fault (core dumped) 


adb log 打印下面的信息

03-31 02:27:19.533    15    15 I DEBUG   : backtrace:
03-31 02:27:19.533    15    15 I DEBUG   :     #00  pc 00000514  /system/bin/pnp5
03-31 02:27:19.533    15    15 I DEBUG   :     #01  pc 00017c94  /system/lib/libc.so (__libc_init+84)
..


执行下面的命令定位到 source

prebuilts/gcc/linux-x86/x86/i686-linux-android-4.6/bin/i686-linux-android-addr2line -e out/target/product/Product1/symbols/system/bin/pnp5 0x00000514

结果如下,定位是准确的

/home/payne/zjb/pnp5/jni/main.c:5