运行程序时出现SIGILL错误

时间:2011-11-30 21:33:31

标签: android android-ndk tombstone

对我来说错误信号4 SIGILL。当我看一下墓碑文件并输入int时,我得到了??即。

以下是一些墓碑:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
pid: 2083, tid: 2089  >>> com.activities <<<
signal 4 (SIGILL), fault addr 00016b10
 r0 00000006  r1 8086caa4  r2 8086fbcf  r3 0006b60b
 r4 80887fc4  r5 0006b60b  r6 00000000  r7 00000000
 r8 80813b00  r9 4e23a038  10 00000019  fp 0011d230
 ip 808880f8  sp 47bcbca8  lr 8083a8d1  pc 00016b10  cpsr 20000010
         #00  pc 00016b10  [heap]
         #01  pc 0003a8ce  /system/lib/libdvm.so
         #02  pc 0003d02c  /system/lib/libdvm.so
         #03  pc 0001890c  /system/lib/libdvm.so
         #04  pc 0001e8c4  /system/lib/libdvm.so
         #05  pc 0001d790  /system/lib/libdvm.so
         #06  pc 0005408e  /system/lib/libdvm.so
         #07  pc 0005bde2  /system/lib/libdvm.so
         #08  pc 00018714  /system/lib/libdvm.so
         #09  pc 0001e8c4  /system/lib/libdvm.so
         #10  pc 0001d790  /system/lib/libdvm.so
         #11  pc 00053eec  /system/lib/libdvm.so
         #12  pc 00054102  /system/lib/libdvm.so
         #13  pc 0004825a  /system/lib/libdvm.so
         #14  pc 0001103c  /system/lib/libc.so
         #15  pc 00010b20  /system/lib/libc.so

我使用命令窗口转到我的android-ndk-r7 \ toolchains \ arm-linux-androideabi-4.4.3 \ prebuilt \ windows \ bin目录,输入此命令并完全没有任何功能。

arm-linux-androideabi--addr2line.exe -C -f -e libdvm.so 0003a8ce

然后返回

??
??:0

我似乎记得以前工作......是的,我在相同的工作目录中有libdvm.so。

1 个答案:

答案 0 :(得分:1)

显然,只有当我在2.2仿真器上测试它时才会发生这种情况。在myTouch 3G手机上,代码永远不会崩溃。必须是指针内存问题或者没有为模拟器分配足够的RAM。