前提
1:Android源码编译
2:Ubuntu虚拟机
Android运行的时候出现如下的问题,如何定位到底是哪里出问题的呢.
可以用提供的工具stack来辅助分析.方法是:
1)下载stack脚本放到源码根目录下
2) 把崩溃信息复制粘贴到xxx 文本里面 然后保存为文本格式放到与stack脚本相同的目录
3) stack xxx
I/DEBUG ( 136): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000004
I/DEBUG ( 136): r0 00000000 r1 00000100 r2 ffffff50 r3 b6ed1324
I/DEBUG ( 136): r4 00000000 r5 bea79764 r6 b7bc50d0 r7 bea79764
I/DEBUG ( 136): r8 b6f06fdc r9 000000ff sl b6ed1324 fp b6f07086
I/DEBUG ( 136): ip b6f09f40 sp bea79738 lr b6f03d33 pc b6e8d856 cpsr 20000030
I/DEBUG ( 136): d0 747265706f72702f d1 73692065646f4e4d
I/DEBUG ( 136): d2 73756a202c504349 d3 0a2e746978652000
I/DEBUG ( 136): d4 0000000000000000 d5 0000000000000000
I/DEBUG ( 136): d6 0000000000000000 d7 9eaae58000000000
I/DEBUG ( 136): d8 0000000000000000 d9 0000000000000000
I/DEBUG ( 136): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 136): d12 0000000000000000 d13 0000000000000000
I/DEBUG ( 136): d14 0000000000000000 d15 0000000000000000
I/DEBUG ( 136): d16 c1d852a1c62978d5 d17 3f50624dd2f1a9fc
I/DEBUG ( 136): d18 41c4a7e5dc000000 d19 0000000000000000
I/DEBUG ( 136): d20 0000000000000000 d21 0000000000000000
I/DEBUG ( 136): d22 0000000000000000 d23 0000000000000000
I/DEBUG ( 136): d24 0000000000000000 d25 0000000000000000
I/DEBUG ( 136): d26 0000000000000000 d27 0000000000000000
I/DEBUG ( 136): d28 0000000000000000 d29 0000000000000000
I/DEBUG ( 136): d30 0000000000000000 d31 0000000000000000
I/DEBUG ( 136): scr 00000010
I/DEBUG ( 136):
I/DEBUG ( 136): backtrace:
I/DEBUG ( 136): #00 pc 00014856 /system/lib/libc.so (fgets+45)
I/DEBUG ( 136): #01 pc 00001d2f /system/bin/displayd
I/DEBUG ( 136): #02 pc 00002d71 /system/bin/displayd
I/DEBUG ( 136): #03 pc 00002f85 /system/bin/displayd
I/DEBUG ( 136): #04 pc 00001559 /system/bin/displayd
I/DEBUG ( 136): #05 pc 0000e3e7 /system/lib/libc.so (__libc_init+50)
I/DEBUG ( 136): #06 pc 000014d8 /system/bin/displayd
I/DEBUG ( 136):
I/DEBUG ( 136): stack:
I/DEBUG ( 136): bea796f8 b7bc6150 [heap]
I/DEBUG ( 136): bea796fc b6ec2fd8 /system/lib/libc.so
I/DEBUG ( 136): bea79700 b6ed0d8c
I/DEBUG ( 136): bea79704 b6ec2fd8 /system/lib/libc.so
I/DEBUG ( 136): bea79708 b6ec3288 /system/lib/libc.so
I/DEBUG ( 136): bea7970c b6e9e8ff /system/lib/libc.so (__sfp+170)
I/DEBUG ( 136): bea79710 00000017
I/DEBUG ( 136): bea79714 b7bc6150 [heap]
I/DEBUG ( 136): bea79718 b6ed0d8c
I/DEBUG ( 136): bea7971c b6ea6b61 /system/lib/libc.so (open+28)
I/DEBUG ( 136): bea79720 bea79764 [stack]
I/DEBUG ( 136): bea79724 00000000
I/DEBUG ( 136): bea79728 b6e8d9cb /system/lib/libc.so (fopen+46)
I/DEBUG ( 136): bea7972c 00000000
I/DEBUG ( 136): bea79730 000001b6
I/DEBUG ( 136): bea79734 00000017
I/DEBUG ( 136): #00 bea79738 b7bc6150 [heap]
I/DEBUG ( 136): bea7973c b7bc50b8 [heap]
I/DEBUG ( 136): bea79740 b7bc50d0 [heap]
I/DEBUG ( 136): bea79744 00000000
I/DEBUG ( 136): bea79748 b6f06fdc /system/bin/displayd
I/DEBUG ( 136): bea7974c b6f070be /sys