有时,我的应用程序停止显示->
A/libc: heap corruption detected by dlmalloc_real
Fatal signal 6 (SIGABRT), code -6 in tid 8614 (drotorres.uareu)
我正在尝试跟踪它,并解决问题。关于错误的日志记录是:
04-23 16:36:25.749 8614-8614/com.br.ufc.pedrotorres.uareu A/libc: heap corruption detected by dlmalloc_real
Fatal signal 6 (SIGABRT), code -6 in tid 8614 (drotorres.uareu)
04-23 16:36:25.859 395-395/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/j5xnlteub/j5xnlte:6.0.1/MMB29M/J510MNVJU2AQI1:user/release-keys'
Revision: '4'
ABI: 'arm'
pid: 8614, tid: 8614, name: drotorres.uareu >>> com.br.ufc.pedrotorres.uareu <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
04-23 16:36:25.879 395-395/? A/DEBUG: Abort message: 'heap corruption detected by dlmalloc_real'
r0 00000000 r1 000021a6 r2 00000006 r3 b6f11b94
r4 b6f11b9c r5 b6f11b4c r6 0000000b r7 0000010c
r8 be99b8fc r9 be99b894 sl 12cd2400 fp ffffffff
ip 00000006 sp be99b7a8 lr b6c90f15 pc b6c93310 cpsr 400f0010
04-23 16:36:25.889 395-395/? A/DEBUG: backtrace:
#00 pc 00044310 /system/lib/libc.so (tgkill+12)
#01 pc 00041f11 /system/lib/libc.so (pthread_kill+32)
#02 pc 0001ba13 /system/lib/libc.so (raise+10)
#03 pc 00018c81 /system/lib/libc.so (__libc_android_abort+34)
#04 pc 00016840 /system/lib/libc.so (abort+4)
#05 pc 0001a627 /system/lib/libc.so (__libc_fatal+16)
#06 pc 0002e221 /system/lib/libc.so (__bionic_heap_corruption_error+8)
#07 pc 0002f2bd /system/lib/libc.so (dlmalloc_real+628)
#08 pc 000485a9 /system/lib/libc++.so (_Znwj+16)
#09 pc 0010d319 /system/lib/libskia.so (_ZN16SkMallocPixelRef9NewDirectERK11SkImageInfoPvjP12SkColorTable+20)
#10 pc 000e95eb /system/lib/libskia.so (_ZN8SkBitmap9setPixelsEPvP12SkColorTable+30)
#11 pc 0007f9f1 /system/lib/libandroid_runtime.so
#12 pc 042dfd63 /system/framework/arm/boot.oat (offset 0x2fcf000)
04-23 16:36:26.309 395-395/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_09
04-23 16:36:26.309 395-395/? E/DEBUG: AM write failed: Broken pipe
我也遇到了这个问题,您解决了吗?与我的情况相比,您的情况要好一些,有要检查的日志,我的ErrorLog根本找不到任何日志来检查发生错误的位置。编译器只告诉我发生了此错误。根据我掌握的信息,我只知道内存堆有问题。我在JNI函数中返回了一个jstring,返回后立即崩溃。我检查了返回值正确,资源也被释放,我现在很困惑,