特集
» 2004年10月27日 13時55分 公開

特集:Eclipseで始めるiアプリ――低レベルAPI編(6/10 ページ)

[きしだ なおき,ITmedia]

ブレークポイントの設置

 実際のデバッグでは、「怪しそうな部分」で処理を停止させて、その位置での変数の値やそこからの処理の流れを確認します。

 処理を停止させるために使うのがブレークポイントです。処理を停止させたい行にブレークポイントを配置すると、その行の処理が行われる直前にプログラムが停止します。

 ブレークポイントを設定するには、設定する行の左側のマージン部分を右クリックしてメニューから「ブレークポイントの追加」を選択します。

 今回は左キーが押されたときの「dx = -2;」の行にブレークポイントを設定してみます(画面14)。

画面14■マージンを右クリックして「ブレークポイントの追加」を選択するとブレークポイントが設定される

 画面15のようにブレークポイントが設定されます。

画面15■ブレークポイントが設定された

 ところで、ブレークポイントがこの丸い印のときには無効になっているので、ここに処理が到達しても実行が停止しません。

 iアプリのデバッグでは、ひとつもブレークポイントを配置していない状態で始めると、ブレークポイントが有効にならないことがあります。この場合には、いったんプログラムを終了させてください。デバッグを再開する時は、まずツールバーの実行ボタンを押して、デバッグの待機を始めます(画面16)。

画面16■DebugConfigの実行を開始する

 デバッグの待機が始まったら、デバッグボタンの「▼」をクリックしてデバッグメニューを表示させます(画面17)。

画面17■デバッグボタンから一覧を開く

 「FirstApp」を選択すると、デバッグが始まります(画面18)。

画面18■「FirstApp」を選択すると、デバッグが開始する

 次の画面のようにブレークポイントの印が有効状態を表すカギ印になります。この行が実行される直前に処理が停止します(画面19)。

画面19■ブレークポイントがカギ印のとき有効

ブレークポイントで停止後の操作

 iアプリエミュレータのウィンドウで左キーを押すと、処理がブレークポイントに到達して、その行が処理される直前で停止します(画面20)。

画面20■ブレークポイントで停止した状態

 右上の「変数」ウィンドウには、その時点での変数の状態が表示されています(画面21)。

画面21■「変数」ウィンドウ

 「デバッグ」ウィンドウ上部のボタンで、処理を1行ずつ進めることができます。

 ステップイン メソッド呼び出しの場合には、そのメソッドの中に処理を移します(画面22)。なお、ステップオーバーは、次の行に処理を移し、ステップリターンはメソッドから抜けます。

画像22■デバッグ用のボタン解説

 それではステップオーバーボタンを押してみてください(画面23)。

画面23■「ステップオーバー」ボタン

 処理が次の行に進みます(画面24)。

画面24■ステップオーバーした状態

 「変数」ウィンドウの「this」を展開させると、インスタンス変数の一覧が表示されます(画面25)。

画像25■dx変数に「-2」が設定されている

 もういちどステップオーバーしてください(画面26)。

画像26■さらに「ステップオーバー」したところ

 arcフィールドの値が変更されたことが分かります(画面27)。

画像27■「変数」ウィンドウ値変更が反映された

 このようにして、プログラム中のある瞬間での変数の値を確認することができます。また、ステップオーバーなどを利用して、処理の流れを確認することができるのです。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ