android崩溃:0xdeadbaad处的致命信号11(SIGSEGV)(代码=1)



我的应用程序有时会崩溃。而且只有一些库错误。我有超过40000行代码。我不知道如何找到虫子?这是内存不足还是使用了错误的方法?

I/DEBUG   (  318): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
I/DEBUG   (  318): Abort message: 'invalid address or address of corrupt block 0x760dafb8 passed to dlfree'
D/cta_dex (  998): conn HookConnectivityService onTransact code: 4
D/cta_dex (  998): conn pass onTransact code: 4
D/cta_dex (  998): conn HookConnectivityService onTransact code: 6
D/cta_dex (  998): conn pass onTransact code: 6
I/DEBUG   (  318):     r0 00000000  r1 4006f172  r2 deadbaad  r3 40072d5c
I/DEBUG   (  318):     r4 760dafb8  r5 4007d190  r6 41945000  r7 760dafc0
I/DEBUG   (  318):     r8 7a046b0c  r9 76090a64  sl 765716d0  fp 7a046b24
I/DEBUG   (  318):     ip 00000001  sp 7a046aa8  lr 4004088b  pc 4004088c      cpsr 60070030
I/DEBUG   (  318):     d14 0000000000000000  d15 0000000000000000
I/DEBUG   (  318):     scr 60000012
I/DEBUG   (  318): 
I/DEBUG   (  318): backtrace:
I/DEBUG   (  318):     #00  pc 0001188c  /system/lib/libc.so (dlfree+1191)
I/DEBUG   (  318):     #01  pc 0000dd2b  /system/lib/libc.so (free+10)
I/DEBUG   (  318):     #02  pc 00083943  /system/lib/libcrypto.so (CRYPTO_free+34)
I/DEBUG   (  318):     #03  pc 00027035  /system/lib/libssl.so (SSL_CTX_set_alpn_protos+16)
I/DEBUG   (  318):     #04  pc 00008b7f  /system/lib/libjavacrypto.so
I/DEBUG   (  318):     #05  pc 0002034c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
I/DEBUG   (  318):     #06  pc 00050fcf  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
I/DEBUG   (  318):     #07  pc 000297e0  /system/lib/libdvm.so
I/DEBUG   (  318):     #08  pc 00030c6c  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
I/DEBUG   (  318):     #09  pc 0002e304  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
I/DEBUG   (  318):     #10  pc 00063435  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
I/DEBUG   (  318):     #11  pc 00063459  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
I/DEBUG   (  318):     #12  pc 00058137  /system/lib/libdvm.so
I/DEBUG   (  318):     #13  pc 0000d290  /system/lib/libc.so (__thread_entry+72)

SIGSEGV是传奇的Segmentation Fault Error。您需要手动查找错误。首先检查对本机(jni)库或代码资源的所有调用。包括Android项目代码。有一次我在使用饼干店的时候碰到这个信号。

相关内容

最新更新