Android调试的必杀技——反汇编
2010-10-14 06:16:00 来源:本站整理在移植Android过程中会遇到很多Crash的情况,尤其是启动Android过程中。一般这些问题都可以通过看代码能解决,当然也有一些比较“妖娆”的问题,非常难找到头绪,在logcat日志也只会打印一些崩溃的堆栈,这些信息很难帮助我们定位问题。根据个人一个实例来介绍一下在Android移植过程中反汇编的用法。
首先先看一下我遇到的一个logcat关于Crash的打印信息:
I/DEBUG ( 1417): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 1417): Build fingerprint: 'generic/sdk/generic/:Eclair/ECLAIR/eng.simon.20100607.133011:eng/test-keys'
I/DEBUG ( 1417): pid: 1434, tid: 1460 >>> system_server <<<
I/DEBUG ( 1417): signal 11 (SIGSEGV), fault addr 00000000
I/DEBUG ( 1417): zr 00000000 at 00000000 v0 00007265 v1 00193228
I/DEBUG ( 1417): a0 00000001 a1 0000000a a2 00193228 a3 001f2ccf
I/DEBUG ( 1417): t0 00193228 t1 80000008 t2 8007e8dc t3 fffffff8
I/DEBUG ( 1417): t4 00030465 t5 00000000 t6 00200073 t7 00000000
I/DEBUG ( 1417): s0 2fa0786c s1 30564f00 s2 7ef5d990 s3 2fa0786c
I/DEBUG ( 1417): s4 30465000 s5 00100000 s6 7b10a8b4 s7 00000001
I/DEBUG ( 1417): t8 00000000 t9 7ef50d44 k0 00000000 k1 00000000
I/DEBUG ( 1417): gp 7ef6fd60 sp 30564e90 s8 2fa07858 ra 7ef53470
I/DEBUG ( 1417): hi 0000000f lo 04444444 bva 00007265 epc 7ef534a4
I/DEBUG ( 1417): #00 pc 7ef534a4 /system/lib/libc.so
I/DEBUG ( 1417): #01 ra 7ef53470 /system/lib/libc.so
I/DEBUG ( 1417):
I/DEBUG ( 1417): code around pc:
I/DEBUG ( 1417): 7ef53494 afa7002c afa40030 1040000b afa50028
I/DEBUG ( 1417): 7ef534a4 8c4a0000 8c440008 8c590004 8fa2001c
I/DEBUG ( 1417): 7ef534b4 0320f809 ac4a0034 8fa9001c 8d220034
I/DEBUG ( 1417):
I/DEBUG ( 1417): code around lr:
I/DEBUG ( 1417): 7ef53460 afbc0010 8f9987c4 0320f809 00808021
更多精彩
赞助商链接