在libc中的应用程序崩溃

时间:2011-08-09 14:07:39

标签: android android-emulator android-ndk

我在libc中的应用程序崩溃了。我不知道原因,如果有人知道这次崩溃,请帮助我。

我在网站上获得了这些信息,但我没有任何共享资源(除了一个.so文件作为库),这并没有解决我的问题。

http://comments.gmane.org/gmane.comp.handhelds.android.ndk/5089

    08-09 19:28:21.523: INFO/DEBUG(860): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    08-09 19:28:21.523: INFO/DEBUG(860): Build fingerprint: 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
    08-09 19:28:21.523: INFO/DEBUG(860): pid: 1025, tid: 1041  >>> com.mtrl.android.app.ui <<<
    08-09 19:28:21.523: INFO/DEBUG(860): signal 11 (SIGSEGV), fault addr 00000000
    08-09 19:28:21.523: INFO/DEBUG(860):  r0 00000000  r1 422b024a  r2 4310a008  r3 00000000
    08-09 19:28:21.523: INFO/DEBUG(860):  r4 44f8ac20  r5 00000d49  r6 8085d049  r7 422b024a
    08-09 19:28:21.523: INFO/DEBUG(860):  r8 475b2d7c  r9 430f2ebc  10 430f2ea8  fp 0026a798
    08-09 19:28:21.523: INFO/DEBUG(860):  ip 808882a4  sp 475b2bd0  lr 8085d053  pc afd1cb9c  cpsr 40000030
    08-09 19:28:22.333: INFO/DEBUG(860):          #00  pc 0001cb9c  /system/lib/libc.so
    08-09 19:28:22.343: INFO/DEBUG(860):          #01  pc 0005d050  /system/lib/libdvm.so
    08-09 19:28:22.343: INFO/DEBUG(860):          #02  pc 0003ae3c  /system/lib/libdvm.so
    08-09 19:28:22.353: INFO/DEBUG(860):          #03  pc 0005d222  /system/lib/libdvm.so
    08-09 19:28:22.393: INFO/DEBUG(860):          #04  pc 0003363e  /system/lib/libdvm.so
    08-09 19:28:22.393: INFO/DEBUG(860):          #05  pc 0003438c  /system/lib/libdvm.so
    08-09 19:28:22.393: INFO/DEBUG(860):          #06  pc 0001519a  /system/lib/libnativehelper.so
    08-09 19:28:22.403: INFO/DEBUG(860):          #07  pc 0001525a  /system/lib/libnativehelper.so
    08-09 19:28:22.403: INFO/DEBUG(860):          #08  pc 00013974  /system/lib/libdvm.so
    08-09 19:28:22.413: INFO/DEBUG(860): code around pc:
    08-09 19:28:22.413: INFO/DEBUG(860): afd1cb7c 2b00d004 3001d001 2000e7f8 46c04770 
    08-09 19:28:22.413: INFO/DEBUG(860): afd1cb8c 2300b510 3301e004 d1012a00 e0042000 
    08-09 19:28:22.413: INFO/DEBUG(860): afd1cb9c 5ccc5cc2 d0f642a2 bd101b10 f7ffb510 
    08-09 19:28:22.413: INFO/DEBUG(860): afd1cbac bd10ffef 5cca2300 330154c2 d1fa2a00 
    08-09 19:28:22.413: INFO/DEBUG(860): afd1cbbc 46c04770 1c03b570 1c5d781e 78141c0a 
    08-09 19:28:22.413: INFO/DEBUG(860): code around lr:
    08-09 19:28:22.413: INFO/DEBUG(860): 8085d030 1d0abdf0 46c0e7a1 62026281 46c04770 
    08-09 19:28:22.413: INFO/DEBUG(860): 8085d040 477062c1 46c04770 1c04b510 f7b66980 
    08-09 19:28:22.413: INFO/DEBUG(860): 8085d050 4243eb78 42404158 bd104020 1c04b570 
    08-09 19:28:22.413: INFO/DEBUG(860): 8085d060 69801c0d f7b66989 2800eb6c 6ce9d10a 
    08-09 19:28:22.424: INFO/DEBUG(860): 8085d070 20016ce3 d006428b d0032900 f7ff1c20 
    08-09 19:28:22.424: INFO/DEBUG(860): stack:
    08-09 19:28:22.424: INFO/DEBUG(860):     475b2b90  4000cd01  /dev/ashmem/mspace/dalvik-heap/zygote/0 (deleted)
    08-09 19:28:22.424: INFO/DEBUG(860):     475b2b94  80853c21  /system/lib/libdvm.so
    08-09 19:28:22.424: INFO/DEBUG(860):     475b2b98  00000000  
    08-09 19:28:22.424: INFO/DEBUG(860):     475b2b9c  00000009  
    08-09 19:28:22.424: INFO/DEBUG(860):     475b2ba0  00000009  
    08-09 19:28:22.424: INFO/DEBUG(860):     475b2ba4  418850e0  /dev/ashmem/dalvik-LinearAlloc (deleted)
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2ba8  0026a798  [heap]
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bac  80853ef5  /system/lib/libdvm.so
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bb0  80887fc4  /system/lib/libdvm.so
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bb4  80887fc4  /system/lib/libdvm.so
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bb8  0026a798  [heap]
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bbc  44f80620  /dev/ashmem/mspace/dalvik-heap/2 (deleted)
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bc0  0026a7e4  [heap]
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bc4  8083ec0d  /system/lib/libdvm.so
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bc8  df002777  
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bcc  e3a070ad  
    08-09 19:28:22.433: INFO/DEBUG(860): #00 475b2bd0  44f8ac20  /dev/ashmem/mspace/dalvik-heap/2 (deleted)
    08-09 19:28:22.433: INFO/DEBUG(860):     475b2bd4  8085d053  /system/lib/libdvm.so
    08-09 19:28:22.444: INFO/DEBUG(860): #01 475b2bd8  00011a30  [heap]
    08-09 19:28:22.444: INFO/DEBUG(860):     475b2bdc  8083ae3f  /system/lib/libdvm.so
    08-09 19:28:25.943: DEBUG/Zygote(33): Process 1025 terminated by signal (11)

此致 SSuman185

2 个答案:

答案 0 :(得分:0)

您可以使用addr2line工具更好地了解错误的位置。你可以这样做:

arm-linux-androideabi-addr2line -e libc.so -C 0005d050

如果你有一部开发电话,strace工具也可以提供一些见解。

答案 1 :(得分:0)

感谢您的支持。 实际上在我的代码中,我正在进行字节到短转换,这会破坏堆。即使分配了足够的内存,我也不知道它是如何被破坏的。在我将此字节移动到解码器中的原生层的短转换后,我现在没有崩溃。

认为它可以帮助你们。所以,结论不仅仅是本机的,即使在java层的内存中也存在任何损坏,我正在使用libc进行转储。即使问题出在Java层,这也误导我专注于原生层。

谢谢&amp;问候,
SSuman185