致命信号7(SIGBUS)在0x00000000(代码= 2)

时间:2012-10-25 21:44:00

标签: android osgi runtime-error apache-felix libc

在Android上使用OSGi平台时,我得到了这个错误信息:

Fatal signal 7 (SIGBUS) at 0x595302e0 (code=2)

致命信号7(SIGBUS)位于0x595302e0(代码= 2)

我认为我的应用程序在内存中需要那么多空间或者需要很多计算能力。 它只是OSGi平台,有20个捆绑包。

我的应用程序在此之后总是重新启动。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

即使我也发现了一个类似的问题,碰巧是(代码= 128)有关于错误。似乎是数据对齐错误。为了解决这个问题,我尝试了这样的代码:

    *Data = (*Data)(Temp+i) becomes     
    Temp1 = *(Temp+i);     
    *Data = Temp1;     

在函数调用之前和之后,使用上述方法传回数据。碰巧NDK编译器的工作方式不同。 NDK用于编码c和c ++的混合。

答案 1 :(得分:1)

我遇到了同样的问题。它是由drawable文件夹中的png文件引起的。我只是去看看,最大的图片是什么,我发现它,删除它,并用更小的图片替换它,问题已经消失了。

答案 2 :(得分:0)

这是Data Alignment的问题,如error code所示。您的代码的某些部分或您正在使用的库中的代码可能无法将数据结构放在正确的位置 - 但是,这可能是由许多事情引起的,例如应该返回某些内容但不会执行的函数“T