3

アプリが時々クラッシュする理由を突き止めようとしています。Leaks で実行したところ、Live Bytes が 3.09 MB しかないにもかかわらずクラッシュしました。そのため、メモリを使いすぎているようには見えません。Xcode を使用してデバイスで実行しているときにクラッシュが発生した場合、コンソールにエラーは記録されません。また、デバイスにはクラッシュ ログがありません。

トラブルシューティングのために他に何ができますか?

4

1 に答える 1

1

アプリケーションのクラッシュにはさまざまな理由が考えられます。ここにいくつかの最も一般的なものがあります。

  • 不正なメモリアクセス。

    過剰に解放されたメモリオブジェクトにアクセスしたときに発生します。解決するには、シミュレーターを使用してNSZombiesを使用します。クラッシュがシミュレーターでシミュレートされない場合があります。そのような場合は、自分で行います。

  • 無効な引数の例外

    通常、プロパティにアクセスするか、プロパティを持たないオブジェクトに対してメソッド呼び出しを呼び出すと発生します。一般に、オブジェクトの無効なキャストが原因です。たとえば、 from型にキャストNSArrayし、それにオブジェクトを追加しようとします。NSMutableArrayid

    解決策は、ブレークポイントを使用してデバッグし、次のコマンドを使用してオブジェクトの実際のクラスを確認し、オブジェクトを適切なタイプにキャストすることです。

    po [object class]
    
  • UIViewControllersの問題

    存在しないxibファイルを使用してViewControllerを作成します。

    ビューアウトレットがIBに設定されていないビューコントローラを作成します。

    UIControlのようなもののIBOutletを設定UITextFieldFile Owner、それを誤って削除しFile Owner、XIBファイルでリセットしませんでした。

そしてもっとたくさん..!!

于 2012-08-17T05:45:40.560 に答える