[java] Android致命信號11


Answers

我有一個與android.media.MediaRecorder實例相同的問題。

代碼訪問#getMaxAmplitude()實例上的#reset #reset()#getMaxAmplitude()之後的#reset()已被調用。

Question

在Android上開發的應用程序中,我不斷收到致命信號11錯誤。

我認為這是與我訪問內存的方式有關,但我無法弄清楚是什麼導致了它。

任何幫助都感激不盡!

這裡是LogCat:

05-02 23:47:17.618: D/dalvikvm(590): GC_FOR_ALLOC freed 68K, 4% free 6531K/6787K, paused 101ms
05-02 23:47:17.638: I/dalvikvm-heap(590): Grow heap (frag case) to 7.619MB for 1228816-byte allocation
05-02 23:47:17.738: D/dalvikvm(590): GC_CONCURRENT freed 1K, 4% free 7730K/8007K, paused 5ms+14ms
05-02 23:47:17.878: D/dalvikvm(590): GC_FOR_ALLOC freed <1K, 4% free 7730K/8007K, paused 37ms
05-02 23:47:17.888: I/dalvikvm-heap(590): Grow heap (frag case) to 8.790MB for 1228816-byte allocation
05-02 23:47:17.998: D/dalvikvm(590): GC_CONCURRENT freed <1K, 4% free 8930K/9223K, paused 4ms+4ms
05-02 23:47:17.998: A/libc(590): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)



在我的情況下,當嘗試建立藍牙連接時, BluetoothSocket為空




我遇到了同樣的問題,並在早上睡了一覺並喝了一杯咖啡後發現,我已經足夠愚蠢地用未初始化的位圖支持畫布。 看起來,如果不是所有的畫布繪製代碼都是本地代碼,並且未初始化的對象的傳遞在任何地方都沒有檢測到。

具有空地址(0x00000000)的SIGSEGV意味著您的應用程序已經取消引用了空指針,因此請注意您傳遞空指針的位置(例如,對未初始化的對象實例的空引用)通過本機代碼,並沒有正確檢查這個錯誤。




當我在android上製作一個cocos2d-x應用程序時,我遇到了這個問題。 問題在於我的圖層是CCLayer:

 CCLayer::init()

但在頭文件中我有:

 class HelloWorld : public cocos2d::CCLayerColor

我將CCLayerColor改為CCLayer,我的應用程序工作




在我的情況下,它是一個onDraw事件內的空指針異常,它會阻止在畫布上完成繪製。 我認為是一個常見的錯誤消息,當繪製問題ocurr。




Related