12

在 Android 上使用 OSGi 平台时,我收到了以下错误消息:

致命信号 7 (SIGBUS) 在 0x595302e0 (code=2)

致命信号 7 (SIGBUS) 在 0x595302e0 (code=2)

我不认为我的应用程序需要那么多内存空间或需要大量计算能力。它只是具有 20 个捆绑包的 OSGi 平台。

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

有任何想法吗 ?

4

3 回答 3

1

我有同样的问题。它是由可绘制文件夹中的 png 文件引起的。刚才去看了,最大的图是什么,找到了,删了,换成更小的,问题就解决了。

于 2014-03-28T17:36:17.933 回答
1

甚至我也发现了一个类似的问题,并且恰好是(代码= 128)与错误有关。似乎是数据对齐错误。为了解决这个问题,我尝试了这样的代码:

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

在函数调用之前和进入函数调用并使用上述相同的方法传回数据。碰巧NDK编译器的工作方式有所不同。NDK 用于混合 c 和 c++ 的代码。

于 2013-06-06T19:04:23.527 回答
0

这是数据对齐的问题,如错误代码所示。您的代码的某些部分或您正在使用的库中的代码可能无法将数据结构放在正确的位置 - 但是,这可能是由很多事情引起的,例如应该返回某些内容但没有返回的函数不。

于 2013-03-22T21:33:38.137 回答