CS193p – Debugger

iTunes U スタンフォード大学のiOSアプリ開発講義のDebuggerの講義メモです。

Xcode4のデバッガの使い方

何も設定していない場合、アプリを実行させてクラッシュするとデバッガが C のmain( )でストップし、どのメソッドでクラッシュしたかが分かりません。

※左側では、停止したスレッドが展開されます。

クラッシュしたメソッドとコード行を表示させるように設定

1. ブレークポイントナビゲーターの画面にする

2. 左下の+ボタンを押して、”Add Exception Breakpoint…”を選択

「Done」ボタンを押してException Breakpointを追加する。

ブレークポイントの追加

コードの行番号部分をクリック

これで実行時にこの行で停止する。

■ブレークポイントの無効化

プレークポイントを右クリックして、”Disable Breakpoint”を選択。

もしくは、ブレークポイントを再度クリック。

■ブレークポイントの削除

ブレークポイントをドラッグしてコードの外へドロップする。

デバッガの操作

左下にあるボタンを押してデバッガを操作する。

  • Step over : 次の行へ進む
  • Step into : 現在の行で記述されているメソッドの中に入る
  • Step out : 現在のメソッドから抜ける

デバッガー内でgetterをコールする方法

コンソールでコマンドを入力する。

※デバッガコンソールでは、ドット表記は使えない

(gdb) print [self operandStack]

オブジェクトの内容を表示させる場合は、poコマンドを使う

(gdb) po [self operandStack]

poコマンドはオブジェクトにdescriptionメッセージを送り、その戻り値を表示する。

ブレークポイントの条件指定

特定の条件の時だけ停止させるには、ブレークポイントを右クリックして、”Edit Breakpoint”を選択。

Conditionに条件を入力

result == 0

クラスのインスタンスを簡単に表示させる方法

descpription メソッドを記述して、デバッガコンソールで self を表示させる。