首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

查看栈信息中 .so资料里地址对应的方法名称

2012-09-01 
查看栈信息中 .so文件里地址对应的方法名称在Android开发中,涉及到JNI时,有时会报告非常底层栈信息,在栈信

查看栈信息中 .so文件里地址对应的方法名称

在Android开发中,涉及到JNI时,有时会报告非常底层栈信息,在栈信息中 仅仅给出了.so文件出错位置的地址,根本看不成问题所在,但是如果使用arm-eabi-addr2line 命令,就可以把地址信息转换成方法名称:

arm-eabi-addr2line 命令 在%ANDROID_SOURCE%\prebuilt\linux-x86\toolchain\arm-eabi-4.4.0\bin;


例如有如下的栈信息:

?

02-21 13:34:39.621 I/DEBUG?? (?? 79): pid: 394, tid: 560? >>> android.process.media <<<
02-21 13:34:39.621 I/DEBUG?? (?? 79): signal 11 (SIGSEGV), fault addr 4b98b000
02-21 13:34:39.621 I/DEBUG?? (?? 79):? r0 4b98a054? r1 00000000? r2 00000e94? r3 4b98b000
02-21 13:34:39.621 I/DEBUG?? (?? 79):? r4 00000000? r5 4b989f14? r6 9ea08104? r7 0029b0e5
02-21 13:34:39.621 I/DEBUG?? (?? 79):? r8 4b98a564? r9 43ddfc68? 10 43ddfc50? fp 00290840
02-21 13:34:39.621 I/DEBUG?? (?? 79):? ip 9ea0816c? sp 4b9898c8? lr 9ea05393? pc afd1cde6? cpsr 20000030
02-21 13:34:39.621 I/DEBUG?? (?? 79):? d0? 0000004442880000? d1? 3ff0000042880000
02-21 13:34:39.621 I/DEBUG?? (?? 79):? d2? bfd3441350baf6de? d3? c1493000c1323800
02-21 13:34:39.621 I/DEBUG?? (?? 79):? d4? 4900000040dcb000? d5? 000000000006e580
02-21 13:34:39.621 I/DEBUG?? (?? 79):? d6? 4515a00000000800? d7? 40800000c48ee000
02-21 13:34:39.621 I/DEBUG?? (?? 79):? d8? 0000000000000000? d9? 0000000000000000
02-21 13:34:39.621 I/DEBUG?? (?? 79):? d10 0000000000000000? d11 0000000000000000
02-21 13:34:39.621 I/DEBUG?? (?? 79):? d12 0000000000000000? d13 0000000000000000
02-21 13:34:39.621 I/DEBUG?? (?? 79):? d14 0000000000000000? d15 0000000000000000
02-21 13:34:39.621 I/DEBUG?? (?? 79):? scr 80000012
02-21 13:34:39.621 I/DEBUG?? (?? 79):
02-21 13:34:39.661 I/DEBUG?? (?? 79):????????? #00? pc 0001cde6? /system/lib/libc.so
02-21 13:34:39.661 I/DEBUG?? (?? 79):????????? #01? pc 00005390? /system/lib/libdrm1.so
02-21 13:34:39.661 I/DEBUG?? (?? 79):????????? #02? pc 0000321c? /system/lib/libdrm1.so

02-21 13:34:39.661 I/DEBUG?? (?? 79):
02-21 13:34:39.661 I/DEBUG?? (?? 79): code around pc:
02-21 13:34:39.661 I/DEBUG?? (?? 79): afd1cdc4 429a3301 2000d1f4 46c0bd30 2a00b510

?

则执行以下命令:

arm-eabi-addr2line -f -e %ANDROID_SOURCE%/out/target/product/xxxxx/system/lib/libdrm1.so 00005390


返回结果就是该地址对应的方法名称。

热点排行