Eclipseのブレークポイント設定を使いこなす|条件付き・ヒットカウント・トリガーまで解説

Eclipseのブレークポイント設定で、条件付き・ヒットカウント・トリガーを使い分けてデバッグ効率を上げる方法を解説する記事

デバッグ中、「ここで止めたい」という場面でとりあえずブレークポイントを置く……という使い方がほとんどではないでしょうか。筆者もずっとそれだけで乗り切ってきたのですが、ブレークポイントには実はいろいろと設定項目があります。うまく使えばデバッグ効率がかなり上がりそうなのでまとめてめもしました。

開発環境:Pleiades All in One Eclipse 2025-09

Eclipseまわりの設定やトラブル対処をまとめて確認したい場合はこちらも参考になります。

目次

この記事でわかること

  • Eclipseのブレークポイントで設定できる項目の一覧と意味。
  • 条件付きブレークポイントで特定の状態のときだけ止める方法。
  • ヒットカウントやトリガー・ポイントを使って止まる回数・タイミングを制御する方法。
  • スレッド単位で止めるか、VM全体を止めるかの使い分け。

用途別:どのブレークポイント設定を使う?

Eclipseのブレークポイントには複数の種類がありますが、実務では「どの設定を使うべきか迷う」ことも多いです。
まずは以下の表で、自分の状況に合う設定を確認してください。

やりたいこと使う設定おすすめ度用途例
特定の条件の時だけ止めたい条件付きブレークポイント★★★★★ID=100の時だけ停止
10回目のループで止めたいヒットカウント★★★★★for文の10周目確認
一度止まったら無効化したいDisable on hit★★★★☆初回だけ確認したい
別の箇所が止まったらここも有効化したいトリガー・ポイント★★★★☆処理A通過後のみ停止
全スレッドを止めたいSuspend VM★★★☆☆マルチスレッド調査

迷った場合は、まず条件付きブレークポイントヒットカウントを覚えるだけでも、デバッグ効率はかなり上がります。

ブレークポイントの設定項目一覧

まず設定項目を俯瞰しておきます。Eclipseのブレークポイント・ビューで該当ブレークポイントを選択すると、以下の項目が表示されます。

設定項目概要
トリガー・ポイント他のブレークポイントを有効化するスイッチになる。
ヒット時に実行を継続トリガー・ポイント通過時に中断しないようにする。
Disable on hit通過したらそのブレークポイントをOFFにする。
ヒット・カウント指定回数に達したときだけ中断する。
スレッドの中断そのスレッドだけ止めて他のスレッドは動かし続ける。
VMの中断VM内の全スレッドを一斉に止める。
条件付き(’true’の時)条件式がtrueのときだけ中断する。
条件付き(値変更時)条件式の評価結果が前回から変わったときだけ中断する。

トリガー・ポイント

トリガー・ポイントとは

「このブレークポイントを通過したら、他のブレークポイントを有効化する」というスイッチの役割を持つ設定です。

トリガー・ポイントをONにするとそれ以外のブレークポイントが待機状態になります。デバッグ実行中は待機状態のブレークポイントでは止まりません。トリガー・ポイントを通過した瞬間に待機状態が解除され、それ以降は通常どおりブレークポイントが機能するようになります。

また、トリガー・ポイントは通過した時点でOFFになります(手動でONに戻すことも可能です)。ただし処理が終了するとONに自動復帰します。

使いどころとしては「最初の初期化処理は飛ばして、特定の前提条件が整ったあとからデバッグしたい」というケースに向いています。

ヒット時に実行を継続

トリガー・ポイントはデフォルト設定(スレッドの中断)のままだと、通過時に一度中断します。「スイッチとして使いたいだけで止まりたくない」というときは「ヒット時に実行を継続」をONにしておくと中断せずそのまま処理が続きます。

Disable on hit

ONにすると通過時にそのブレークポイントが自動でOFFになります。トリガー・ポイントと似ていますが処理終了後もONに復帰しない点が異なります。なぜか日本語化されていない

1回だけ止まれば十分なケースや「最初の1回だけ確認したい」という場面で活用できますね。

ヒット・カウント

指定した回数目に到達したときだけ中断します。たとえば10と設定すると10回目の通過時に止まります。カウントは1始まりです(0回目ではなく1回目から数えます)。

中断した時点でそのブレークポイントは自動的にOFFになりますが、処理終了後にはONに復帰します。

ループ処理のデバッグで「100回ループする処理の50回目だけ確認したい」といった場面で重宝します。

スレッド/VMの中断

ブレークポイント・ビューではヒット・カウントの子項目のように見えますが、実質的には全体的な中断方法の設定です。

スレッドの中断

対象のブレークポイントを実行しているスレッドだけが一時停止し、同じVM内の他のスレッドはそのまま動き続けます。

複数スレッドが動いているアプリで「このスレッドの動きだけ追いたい、でも他のスレッドは止めたくない」というときに有効です。

VMの中断

ブレークポイントに到達した瞬間にVM内の全スレッドが一斉に停止します。

バックグラウンド処理が勝手に状態を書き換えると困る場面や「このタイミングの全体状態をそのまま固めて確認したい」というときに向いています。

WebアプリをEclipse+Tomcatで動かしている場合は、ローカルHTTPS環境の作り方も合わせて確認できます。

条件付きブレークポイント

条件付きブレークポイントは条件式とセットで使う設定です。ブレークポイント・ビューの条件式入力欄に式を書いておく必要があります。

ブレークポイント・ビューの条件式入力欄(赤枠部分)

‘true’の時に中断

ブレークポイントに到達するたびに条件式を評価し結果がtrueのときだけ中断します。

たとえばcount == 50という式を書いておけば、ループ変数が50になったときだけ止まります。毎回止まる必要がなくなるのでデバッグ効率が一気に上がりますね。

値変更時に中断

ブレークポイントに到達するたびに条件式を評価し前回の評価結果から変化があった場合に中断します。

「この変数がいつ変わったのか」を追いたいときに使うと便利です。

条件式に使うJavaコードやコレクション操作を見直したい場合は、Stream APIの基本も押さえておくとデバッグしやすくなります。

Q&A

ヒット・カウントとトリガー・ポイントは同時に使える?

設定上は同じブレークポイントに両方を設定できます。ただし動作が複合するため挙動が把握しにくくなります。それぞれ別のブレークポイントに分けるほうが管理しやすいと思います。

条件式に書けるのはJavaの式?

はい。デバッグ対象のプロジェクトの言語(JavaであればJavaの式)で記述します。変数名はそのブレークポイントのスコープで参照できるものを使えます。

Disable on hitとヒット・カウントの違いは何?

ヒット・カウントは「N回目に止まってOFF、処理終了後にON復帰」します。Disable on hitは「通過したらOFF、処理終了後もOFFのまま」です。自動復帰するかどうかが大きな違いです。

Eclipse自体が重い・固まる場合は、ブレークポイント設定より先に環境側も確認しておくと安心です。

まとめ

  • トリガー・ポイントは「このポイントを通過してから他を有効化する」スイッチとして使えるよ。
  • ヒット・カウントはループ処理で「N回目だけ止めたい」ときに使うと効率が上がるよ。
  • スレッド中断とVM中断は「他スレッドを動かし続けたいか止めたいか」で使い分けるといいよ。
  • 条件付きブレークポイントは条件式とセットで使って、特定の状態のときだけ止めることができるよ。
  • Disable on hitはトリガー・ポイントと違って処理終了後もOFFのままなので使いどころに注意してね。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次