7

我有一个错误要修复,它会弹出很多。它是一个致命的信号 11. 问题是程序在我的任何本机代码中都没有崩溃,但其他原因导致了它。我从 logcat 得到以下信息,我不知道这个的正确术语:

03-10 12:50:14.419 F/libc    (3429): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
03-10 12:50:14.819 I/DEBUG   (11778): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-10 12:50:14.819 I/DEBUG   (11778): Build fingerprint: 'hp/hp_tenderloin/tenderloin:4.0.4/IMM76I/330937:user/release-keys'
03-10 12:50:14.819 I/DEBUG   (11778): pid: 3429, tid: 3702  >>> com.RefinedCode.handocr <<<
03-10 12:50:14.819 I/DEBUG   (11778): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
03-10 12:50:14.819 I/DEBUG   (11778):  r0 004a1e30  r1 33400001  r2 004a1e30  r3 00000000
03-10 12:50:14.819 I/DEBUG   (11778):  r4 414b3da8  r5 004b6cb8  r6 00000007  r7 4e348f80
03-10 12:50:14.819 I/DEBUG   (11778):  r8 4e766c10  r9 4e348f78  10 00000008  fp 4e766c24
03-10 12:50:14.819 I/DEBUG   (11778):  ip 2ac56f9c  sp 4e766c08  lr 2ac254dd  pc 2b10ba64  cpsr 60010010
03-10 12:50:14.819 I/DEBUG   (11778):  d0  0000000000000000  d1  0000000000000000
03-10 12:50:14.819 I/DEBUG   (11778):  d2  0000000000000000  d3  0000000000000000
03-10 12:50:14.819 I/DEBUG   (11778):  d4  4379000044310000  d5  437a0000442d8000
03-10 12:50:14.819 I/DEBUG   (11778):  d6  bff921fb54400000  d7  442a556b00000000
03-10 12:50:14.819 I/DEBUG   (11778):  d8  4392103d3089705f  d9  45a820003c711706
03-10 12:50:14.829 I/DEBUG   (11778):  d10 3f80000000000000  d11 3f800000000000ff
03-10 12:50:14.829 I/DEBUG   (11778):  d12 4017ef9a000000ff  d13 000000003f800000
03-10 12:50:14.829 I/DEBUG   (11778):  d14 3fee940d6bb98cc4  d15 3ff0000000000000
03-10 12:50:14.829 I/DEBUG   (11778):  d16 0000000000000000  d17 0000000042ff0000
03-10 12:50:14.829 I/DEBUG   (11778):  d18 3fc5555555555549  d19 bf9b6d5dd2eaade7
03-10 12:50:14.829 I/DEBUG   (11778):  d20 3ef4e83ec07d9f84  d21 be5ae1fd202f348f
03-10 12:50:14.829 I/DEBUG   (11778):  d22 bc7a626331000000  d23 3de5d93a5acfd57c
03-10 12:50:14.829 I/DEBUG   (11778):  d24 ff00000000000000  d25 0000d8050000a9d8
03-10 12:50:14.829 I/DEBUG   (11778):  d26 0003e14a0018a8a0  d27 0002d8070002a9da
03-10 12:50:14.829 I/DEBUG   (11778):  d28 0000000000ff0000  d29 090a0b0c0d0e0f10
03-10 12:50:14.829 I/DEBUG   (11778):  d30 0000000100000001  d31 0000000100000001
03-10 12:50:14.829 I/DEBUG   (11778):  scr 60000010
03-10 12:50:14.829 I/DEBUG   (11778): 
03-10 12:50:14.999 I/DEBUG   (11778):          #00  pc 00088a64  /system/lib/libskia.so (_ZNK6SkPath7isEmptyEv)
03-10 12:50:14.999 I/DEBUG   (11778):          #01  pc 0006e4da  /system/lib/libandroid_runtime.so
03-10 12:50:15.009 I/DEBUG   (11778):          #02  pc 0001edb0  /system/lib/libdvm.so (dvmPlatformInvoke)
03-10 12:50:15.009 I/DEBUG   (11778):          #03  pc 00059050  /system/lib/libdvm.so (_Z16dvmCallJNIMethodPKjP6JValuePK6MethodP6Thread)
03-10 12:50:15.009 I/DEBUG   (11778): 
03-10 12:50:15.009 I/DEBUG   (11778): code around pc:
03-10 12:50:15.009 I/DEBUG   (11778): 2b10ba44 e5903014 e3530000 03a00001 012fff1e  .0....S......./.
03-10 12:50:15.009 I/DEBUG   (11778): 2b10ba54 e3530001 13a00000 112fff1e e590300c  ..S......./..0..
03-10 12:50:15.009 I/DEBUG   (11778): 2b10ba64 e5d30000 e2700001 33a00000 e12fff1e  ......p....3../.
03-10 12:50:15.009 I/DEBUG   (11778): 2b10ba74 e1a03002 e5912008 e92d4010 e1530002  .0... ...@-...S.
03-10 12:50:15.009 I/DEBUG   (11778): 2b10ba84 e1a04000 3a000004 eddf7a09 edc07a01  .@.....:.z...z..
03-10 12:50:15.009 I/DEBUG   (11778): 
03-10 12:50:15.009 I/DEBUG   (11778): code around lr:
03-10 12:50:15.009 I/DEBUG   (11778): 2ac254bc ed78f7ca 463a4621 4605466e f7fc4668  ..x.!F:FnF.FhF..
03-10 12:50:15.009 I/DEBUG   (11778): 2ac254cc 4628faa3 bdf0b005 4610b510 ed70f7ca  ..(F.......F..p.
03-10 12:50:15.009 I/DEBUG   (11778): 2ac254dc bf00bd10 4610b510 f7ca4619 bd10ed70  .......F.F..p...
03-10 12:50:15.009 I/DEBUG   (11778): 2ac254ec 4610b510 ed70f7ca bf00bd10 4610b510  ...F..p........F
03-10 12:50:15.009 I/DEBUG   (11778): 2ac254fc ed70f7ca bf00bd10 2030b570 f7c74615  ..p.....p.0 .F..
03-10 12:50:15.009 I/DEBUG   (11778): 
03-10 12:50:15.009 I/DEBUG   (11778): stack:
03-10 12:50:15.009 I/DEBUG   (11778):     4e766bc8  004b5270  [heap]
03-10 12:50:15.009 I/DEBUG   (11778):     4e766bcc  004a1ac0  [heap]
03-10 12:50:15.009 I/DEBUG   (11778):     4e766bd0  1d600005  
03-10 12:50:15.009 I/DEBUG   (11778):     4e766bd4  2b2e62e3  /system/lib/libdvm.so
03-10 12:50:15.009 I/DEBUG   (11778):     4e766bd8  004b2de0  [heap]
03-10 12:50:15.009 I/DEBUG   (11778):     4e766bdc  004b6cb8  [heap]
03-10 12:50:15.009 I/DEBUG   (11778):     4e766be0  004b2de0  [heap]
03-10 12:50:15.009 I/DEBUG   (11778):     4e766be4  2ac1c5c1  /system/lib/libandroid_runtime.so
03-10 12:50:15.009 I/DEBUG   (11778):     4e766be8  41477d58  /dev/ashmem/dalvik-LinearAlloc (deleted)
03-10 12:50:15.009 I/DEBUG   (11778):     4e766bec  004b6cb8  [heap]
03-10 12:50:15.009 I/DEBUG   (11778):     4e766bf0  00000004  
03-10 12:50:15.009 I/DEBUG   (11778):     4e766bf4  4e348ee8  
03-10 12:50:15.019 I/DEBUG   (11778):     4e766bf8  2b524910  /dev/ashmem/dalvik-heap (deleted)
03-10 12:50:15.019 I/DEBUG   (11778):     4e766bfc  2b524910  /dev/ashmem/dalvik-heap (deleted)
03-10 12:50:15.019 I/DEBUG   (11778):     4e766c00  df0027ad  
03-10 12:50:15.019 I/DEBUG   (11778):     4e766c04  00000000  
03-10 12:50:15.019 I/DEBUG   (11778): #01 4e766c08  414b3da8  /dev/ashmem/dalvik-LinearAlloc (deleted)
03-10 12:50:15.019 I/DEBUG   (11778):     4e766c0c  2b2b0db4  /system/lib/libdvm.so

通常当我遇到这种错误时,这是​​因为我编写的一些本机代码搞砸了,比如访问向量的无效元素或其他东西。

问题通常发生在我的一个本机函数运行后(但不在其中),所以当我没有得到问题发生位置的行号时,我真的很难弄清楚如何解决它。有没有办法可以使用此输出来获取有关该问题的更多信息?我不知道这个输出的正确术语是什么,所以我很难寻找答案。如果这里有人有这方面的经验,我真的很想能够使用它!

谢谢,扎克

4

1 回答 1

5

Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)null pointer dereferencing。如您所见,地址是0x00000000,因此系统正在尝试从地址读取0

03-10 12:50:14.999 I/DEBUG   (11778):          #00  pc 00088a64  /system/lib/libskia.so (_ZNK6SkPath7isEmptyEv)
03-10 12:50:14.999 I/DEBUG   (11778):          #01  pc 0006e4da  /system/lib/libandroid_runtime.so
03-10 12:50:15.009 I/DEBUG   (11778):          #02  pc 0001edb0  /system/lib/libdvm.so (dvmPlatformInvoke)
03-10 12:50:15.009 I/DEBUG   (11778):          #03  pc 00059050  /system/lib/libdvm.so (_Z16dvmCallJNIMethodPKjP6JValuePK6MethodP6Thread)

你的崩溃是在SkPath7isEmptyEv-> SkPath.isEmpty()。(这称为名称修饰

所以这显然是一个系统/框架问题。我会尝试创建一个最小的代码来重现该问题以了解其性质并搜索已知的错误报告。最好的办法是找到一个不触及此代码路径的解决方法。

于 2013-03-11T10:38:30.960 回答