Xcodeで、iPhone用のアプリを作成し、実行時エラーが発生したとします。私が見ているのは、シミュレーターのプログラムを閉じるだけですが、クラッシュの原因となった行について、実際には強調したりフィードバックを与えたりしないということです...何かが足りないのですか??
注:コンソールはエラーを吐き出すだけなので、あまり効果的ではないと思いますが、それでも、そのバグがコードのどこから発生しているのかを見つける必要があります。
Xcodeで、iPhone用のアプリを作成し、実行時エラーが発生したとします。私が見ているのは、シミュレーターのプログラムを閉じるだけですが、クラッシュの原因となった行について、実際には強調したりフィードバックを与えたりしないということです...何かが足りないのですか??
注:コンソールはエラーを吐き出すだけなので、あまり効果的ではないと思いますが、それでも、そのバグがコードのどこから発生しているのかを見つける必要があります。
コンソールのスタックトレースの上に、「[ClassNameselectorName]認識されないセレクターがインスタンスに送信されました」のように表示されます。
そのセレクターをそのクラスに送信するつもりだったことを確認してください。あなたがそれが何であるかを投稿するならば、私たちはもっと助けることができるかもしれません。
GDBにアクセスするには、ブレークポイントを有効にし、行番号のガターをクリックしてコードにブレークポイントを追加し、ビルドとデバッグを押して、最後にデバッガーを開きます(CMD + Shift + Y)。
例外にグローバルブレークポイントを設定できます。これにより、例外が発生した正確なポイントを追跡できます。これを行うには、[実行]、[実行]の順に選択します。表示| ブレークポイントダイアログを表示するためのXcodeのブレークポイントメニュー項目。グローバルブレークポイントを選択し(これがすべてのプロジェクトで有効になるように)、でブレークポイントを作成しobjc_exception_throw
ますlibobjc.A.dylib
。
ここで、[実行]、[実行]の順に選択してアプリケーションを起動するとします。デバッグ-ブレークポイントオン、または実行前にデバッガウィンドウ([実行] | [デバッガ])でブレークポイントを手動で有効にすると、アプリケーションは例外がスローされた時点で停止する必要があります。次に、デバッガウィンドウでスタックトレースを確認できます。ここで、例外の原因となった特定の行が強調表示されます。
コンソールを見てください(command-shift-R)。