下面是具体错误
2:08:06.731 4420-4420/? A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 4420 (com.tencent.mm)
08-14 02:08:06.832 1393-1393/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-14 02:08:06.832 1393-1393/? I/DEBUG: Build fingerprint: 'Android-x86/android_x86/x86:5.1.1/LMY48Z/denglibo07121054:userdebug/test-keys'
08-14 02:08:06.832 1393-1393/? I/DEBUG: Revision: '0'
08-14 02:08:06.832 1393-1393/? I/DEBUG: ABI: 'x86'
08-14 02:08:06.832 1393-1393/? I/DEBUG: pid: 4420, tid: 4420, name: com.tencent.mm >>> com.tencent.mm <<<
08-14 02:08:06.832 1393-1393/? I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
08-14 02:08:06.838 1393-1393/? I/DEBUG: eax bf86954c ebx b3bfca90 ecx bf869af4 edx bf869558
08-14 02:08:06.838 1393-1393/? I/DEBUG: esi 00000000 edi 00000000
08-14 02:08:06.838 1393-1393/? I/DEBUG: xcs 00000073 xds 0000007b xes 0000007b xfs 00000007 xss 0000007b
08-14 02:08:06.838 1393-1393/? I/DEBUG: eip b37ed646 ebp bf8695b8 esp bf8694b0 flags 00210286
08-14 02:08:06.838 1393-1393/? I/DEBUG: backtrace:
08-14 02:08:06.838 1393-1393/? I/DEBUG: #00 pc 00101646 /system/lib/libart.so (art::mirror::ArtMethod::GetShorty(unsigned int*)+22)
08-14 02:08:06.838 1393-1393/? I/DEBUG: #01 pc 0032b7ab /system/lib/libart.so (art::GetMethodShorty(_JNIEnv*, _jmethodID*)+411)
08-14 02:08:06.838 1393-1393/? I/DEBUG: #02 pc 001a9219 /system/lib/arm/libhoudini.so
08-14 02:08:06.933 1393-1393/? I/DEBUG: Tombstone written to: /data/tombstones/tombstone_04
08-14 02:08:06.937 1562-4462/system_process W/ActivityManager: Force finishing activity 1 com.tencent.mm/.ui.LauncherUI
08-14 02:08:06.937 1562-1584/system_process I/BootReceiver: Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE)
我搞了半天一直以为是jni转 类jstring的问题,后面突然开窍,发现错误里面包含一个关键信息,GetMethodShorty ,那么问题应该是出在方法了,后面我查看了一下是不是混淆了,果然,是找不到方法了。不过我的方法不是short类型的 为什么会这样报错我也很无语。
2018年10月16日 23:03:53
这种不精确的错误还是可以得到详细的堆栈的,debug版本 把.o文件配合指令能快速定位。