信頼度ランク
| S | 公式ソース確認済み |
| A | 成功実績多数・失敗例少数 |
| B | 賛否両論 |
| C | 動作未確認・セキュリティリスク高 |
| Z | 個人所感 |
Eclipseデバッグ機能入門 — ブレークポイントからウォッチ式まで
EclipseのDebugパースペクティブを使ったデバッグ手順を初心者向けに丁寧に解説します。
一言結論
println デバッグはやめて Eclipse のブレークポイントとウォッチ式を使えば、変数の状態変化を止めて追えるため、バグの特定が圧倒的に速くなる。
デバッグとは
デバッグとは、プログラムを一行ずつ止めながら変数の値や処理の流れを確認する作業です。System.out.println を大量に仕込むより、デバッガを使う方が圧倒的に効率的です。
ブレークポイントの設定
止めたい行のエディタ左端(行番号の左のグレーエリア)をダブルクリックすると青い丸が付きます。これがブレークポイントです。
public class Calculator {
public int add(int a, int b) {
int result = a + b; // ← ここにブレークポイントを置く
return result;
}
}
Ctrl+Shift+B でも設定/解除できます。
デバッグ実行
F11 または Run > Debug As > Java Application でデバッグ実行します。
ブレークポイントで停止すると Debug パースペクティブ に自動で切り替わります。
Debug パースペクティブの各ビュー
┌─────────────────┬──────────────────┐
│ Debug ビュー │ Variables ビュー │
│(コールスタック) │ (変数の値) │
├─────────────────┴──────────────────┤
│ エディタ(現在行が強調) │
├──────────────────────────────────── ┤
│ Console / Expressions │
└─────────────────────────────────────┘
Variables ビュー
現在のスコープにある変数と値が一覧表示されます。変数を展開するとオブジェクトのフィールドも確認できます。
Debug ビュー(コールスタック)
どのメソッドからどのメソッドが呼ばれたかのスタックが表示されます。クリックすると各フレームの変数が確認できます。
ステップ実行
| キー | 動作 | 説明 |
|---|---|---|
F5 | Step Into | メソッドの中に入る |
F6 | Step Over | メソッドを実行して次の行へ |
F7 | Step Return | 現在のメソッドから抜ける |
F8 | Resume | 次のブレークポイントまで続行 |
実践的な使い方:
- 処理全体の流れを確認 →
F6を使う - 怪しいメソッドの中身を確認 →
F5でメソッドに入る - 確認が終わったら →
F7で抜けてF6に戻る
条件付きブレークポイント
「特定の条件のときだけ止めたい」場合に使います。
ブレークポイントを右クリック → Breakpoint Properties → Condition にチェック → 条件式を入力
// 例: i が 50 のときだけ止める
for (int i = 0; i < 100; i++) {
process(i);
}
条件: i == 50
ウォッチ式(Expressions ビュー)
Variables ビューに表示されない式を評価できます。
Window > Show View > Expressions でビューを開き、Add new expression に式を入力します。
// 例: こんな式も評価できる
list.size()
map.get("key")
obj.toString()
a + b * 2
変数の値を実行中に変更する
Variables ビューで変数をダブルクリックすると値を変更できます。「もし x が 0 だったらどうなるか」を実行中に試せます。
よくあるはまりポイント
ブレークポイントで止まらない:
- ビルドが最新でない →
Project > Clean - デバッグ実行ではなく通常実行している →
F11で実行 - ブレークポイントが別のクラスファイルを指している → プロジェクトを再ビルド
Debug パースペクティブに戻れない:
Window > Perspective > Open Perspective > Debug
まとめ
デバッガを使いこなすと「なぜこの値になるのか」が一目で分かるようになります。最初は F6(Step Over)だけ使うところから始め、慣れたら条件付きブレークポイントやウォッチ式に挑戦してみてください。