1

ですから、これは少し不可解で、どうすればよいかわかりません。私のアプリケーションは、数分間使用した後、常に同じアクションでランダムにクラッシュします (同じモーダル ビューが閉じられます)。クラッシュは常に発生するとは限りませんが、シミュレーターと実際のデバイスで発生します。

私はしようとしました:

  • デバッグ モードになっていることを確認します(もちろん、何も起こりませんでした)。
  • ガード malloc を有効にする(何もしない)
  • インストゥルメント内で実行(なし)
  • 端末から iPhone シミュレーターを直接実行し、LLDB をアプリケーションにアタッチします (コード 0による従来の終了以外の何ものでもありません)。
  • 例外ブレークポイントを追加します(意味はありません)

最後に試したのは、exit関数にブレークポイントを追加することでした。アプリケーションは停止しますが、意味のあるスタック トレースもありません (以下を参照)。

終了時のスタック トレース

また、私はLuaでかなりベアボーンなことをしているので、関連しているかもしれません. Mac OSX のログには、次の奇妙な行が表示されます。

5/15/12 2:16:57.190 PM com.apple.debugserver-170.1: 1 +0.000000 sec [233b/1a03]: error: ::read ( 1, 0x10af80a60, 1024 ) => -1 err = Bad file descriptor (0x00000009)

より意味のあるスタック トレースを取得する方法について何かアイデアがあれば、たとえば、少なくともライブラリ/モジュール/ファイル/exit呼び出しの原因となるものを取得すると、非常に役立ちます!

4

3 に答える 3

0

あなたはそれを苦痛だと思うかもしれませんが、多分あなたはすべてのメソッドにNSLogステートメントを入れてみることができますか?

ところで、問題の指標となるものを排除するために、モーダル解雇を1〜2秒遅らせてみてください。

あなたのアプリは他に何をしていますか?

于 2012-05-15T14:58:30.167 に答える
0

これは少し推測ですが、ターゲットの他のリンカーフラグに-weak_library /usr/lib/libSystem.B.dylibがありますか?これにより、少なくともシミュレーターのさまざまな場所で奇妙なクラッシュが発生します。cordova/ phonegapで生成されたアプリにはこのフラグが含まれており、flurryやurbanairshipの一部のバージョンでもこのフラグが使用されています。

-weak_library/usr/lib/libSystem.B.dylibを-weak-lSystem/usr/lib/libSystem.B.dylibに置き換えると、クラッシュは解消されます。

于 2012-05-15T12:48:33.070 に答える
0

ブレークポイント ナビゲーター (ショートカット: cmd + 6) に移動すると、左下に小さな + アイコンが表示されます。それをクリックして、「例外ブレークポイントの追加」を選択します。お役に立てれば。

于 2012-05-15T12:45:41.177 に答える