4

アプリでランダムなバグが発生し、クラッシュする原因となっています。私が直面している問題は、XCode が以下の情報だけでクラッシュが発生している場所を教えてくれないことです。コード内で問題を見つけることができる場所を見つける方法を教えてもらえますか? アプリがクラッシュしたときと同じ時点でクラッシュしている必要があり、常に以下が表示されます。

* キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: '-[__NSCFDictionary setObject:forKey:]: nil 値 (キー: 0) を挿入しようとしました' *最初のスロー コール スタック: (0x381e48bf 0x37d301e5 0x381e47b9 0x381e47db 0x381516bb 0x9237b 0x9237b 0x9237b 0x9237b 0x9237b 0x9237b 0x9237b 0x9237b 0x9237b 0x37b9d 0x8b68f 0x3550850f 0x381b0577 0x3813c0cf 0x3547c3fb 0x3547dc2b 0x8d005 0x3814322b 0x34495 0x32e31 0x3372d 0x30a59 0x3813e435 0x7b1df 0x7b88d 0x79e25 0x31ca650f 0x31ca5f01 0x31c8c4ed 0x31c8bd2d 0x37f12df3 0x381b8553 0x381b84f5 0x381b7343 0x3813a4dd 0x3813a3a5 0x37f11fcd 0x31cba743 0x89e8b 0x24a4) terminate called throwing an exception(lldb)

4

5 に答える 5

18

例外ブレークポイントをオンにしましたか? Breakpoint Navigator の左下にある+をクリックし、Add Exception Breakpontを選択します。

ここに画像の説明を入力

ブレークポイントを右クリックして編集できます…</p>

ここに画像の説明を入力

これにより、エラーが発生した時点でコードが停止します。

于 2012-05-31T09:26:47.970 に答える
10

私がプロジェクトで通常使用するソリューションがあり、特別なブレークポイントを設定します。それを行うには:

  1. XCodeを開く
  2. 「View -> Navigators -> Show Breakpoint Navigators」に移動します

「+」ボタンをクリックして、いくつかの新しいブレークポイントを追加します。

  • 例外ブレークポイントを追加
  • シンボルを使用してシンボリック ブレークポイントを追加する[NSException raise]
  • シンボルを使用してシンボリック ブレークポイントを追加するobjc_exception_throw

プロジェクトを再度実行すると、問題の原因となっている行でアプリケーションが停止します。

于 2012-05-31T09:28:39.507 に答える
0

エラーは十分に明らかです。辞書のオブジェクトを設定している行のいずれかで、キーはnillであり、これは許可されていません

于 2012-05-31T09:26:19.967 に答える