2011-11-30 10 views
28

以前は、古いXcode 3では、クラッシュが発生するたびに、クラッシュを示す違反行でXcodeが停止しました。デバッグするのはいい時だった。Xcodeはクラッシュ後にmain.mで常に停止します

は今のXcode 4.2、アプリがクラッシュするたびに、それがクラッシュを引き起こしているものに何の手がかりを与えないこと

int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate"); 

この行でmain.mで停止します。問題はどのクラスでも発生する可能性がありますが、クラッシュするとmain.mで停止します。

もう一度正しく動作させる方法はありますか?

おかげ

注:私はSOの前にこれを求めているが、その時与えられた解決策は満足のいくものではないことが証明されたと問題が解決しません。

彼らは行動を変え
+0

を動作するはずです。元の質問を編集して新しい情報を提供し、最初のページに戻します。 –

+0

私は古いものを削除するように頼んだ。 – SpaceDog

答えて

42

、続くthis tutorial to break on all exceptions

EDIT:のXcode 4.2で隠された宝石の

一つは「例外です(リンクは腐るかもしれないので、私はここに情報を複製します)ブレークポイント "機能。一度それを有効にすると、あなたのアプリケーションで例外がスローされるたびに、例外が発生するコード行がXcodeによって呼び出されるため、デバッグの作業がずっと楽になります。これは、コールスタックウィンドウが空の場合(特にiOSアプリケーションで作業中に発生することがあります)に特に便利です。例外のタイプとそのエラーメッセージの多くを含んでいない簡単なエラーメッセージをOutputペインに頼るのではなく、問題がどこにあるのかを正確に確認できます!

あなたはブレークポイントナビゲータ・ペインを開いて、左下隅にある[X]ボタンをクリックすることで、例外ブレークポイントを追加することができます。

「例外ブレークポイントの追加...」メニュー項目をクリックした後、あなたはこのブレークポイントの設定ビューを開く表示されます。

完了]ボタンをクリックして、Bのあなたのリストに新しい例外ブレークポイントの意志リアークポイント。 「ユーザー」をクリックした後

:あなたはそれにあなたのXcodeのワークスペースのすべての例外ブレークポイントが含まれ、右クリックします(Ctrl +クリック)していて、メニュー「ブレークポイントまでの移動」の項目を開く場合サブメニューでは、例外ブレークポイントがユーザーグループのブレークポイントにあることがわかります。別のプロジェクトを開き、自動的にブレークポイントのリストに追加されます。デバッグ

ハッピー!

+13

ありがとうございます。彼らは狂気でなければならない。その変化のポイントは何ですか?開発者の生活を悲惨なものにする?ありがとう!!!!!!!!!!!!!!!! – SpaceDog

+0

これを永久にxcodeに設定する方法はありますか? – SpaceDog

+0

チュートリアルの終わりに「User」に移動することについてのビットはそれを永久にします – BarrettJ

5

私のために働いた以下の手順を試してみてください。

  1. [ビヘイビア]タブを選択します。
  2. 左の列から「実行が予期せず終了する」を選択します。
  3. 「現在のビューでデバッガを表示」を選択します。残念ながら、これは再びエディタに戻っmain.mに戻され

:)今、あなたは以下に従う必要があるビヘイビア]タブを選択し、

  1. オープン環境を繰り返します。ちょうどに行く
  2. を「実行が完了した」が「表示」の行を見つけて、同じ行にあるチェックボックス
  3. をクリックし、ドロップダウンメニューで「現在」に行くことにターゲットを変更します。

これは、再び同じ質問を投稿していない、今後の参考のために

+1

うわー。次のリリースAppleは設定が難しくなるはずです。ありがとう – SpaceDog

+0

ハハ!彼らはまだ**完全な**同じバグを持っています。あなたに何も言わないファイルにジャンプするだけでは意味がありません。すべてのボックスのチェックを外すと、(Appleが教えてくれたように)NOTINGが起こると思う。代わりに何かが起こる。 * "このイベントで何もしたくない場合は、ランダムな無意味なファイルにジャンプする" *悲しい。 –

関連する問題