Eclipseではどのようなブレークポイントアイコンが意味しますか?
Eclipseでブレークポイントを操作すると、アイコン/注釈(左側のサイドバーのマーカー)が異なることに気づくことがあります。青いボールだけの場合もあれば、チェックマークが付いている場合もあります。これらの注釈はすべてどういう意味ですか?
- 青いボール:通常のブレークポイント、アクティブ(ヒットカウントが設定されている可能性があります)
- 空のボール(白):ブレークポイントが無効になっています(ブレークポイントビューでチェックマークを削除するか、コンテキストメニューで
disable
) - ブレークポイントを通る対角線:すべてのブレークポイントが無効になっています(ボタン
skip all breakpoints
ブレークポイントビューで) - ブレークポイントの横にある疑問符:このブレークポイントに対して条件がアクティブです(ブレークポイントのプロパティを確認してください)
チェックマークは、ブレークポイントが正常に設定されたことを意味します。リモートデバッグを行っている場合にのみ表示されると思います。ブレークポイントを追加すると、それは単純なボールとして開始されますが、リモートシステムのJPDAエージェントがそのことを通知され、設定されたことを確認すると、ティックが取得されます。
説明をインラインで記述したサンプルコードを作成しました。
public class Breakpoints {
int field1; // watchpoint - suspend when field1 is read
int field2; // watchpoint - suspend when field1 is written
int field3; // watchpoint - suspend when field1 is read or written
public void method() {
int x;
x = 10; // suspend before this line is executed
x = 11; // same as above but this breakpoint is temporarily disabled
for (int i = 0; i < 100; i++) {
x = i; // conditional breakpoint - suspend when i==5
}
}
}
[ブレークポイント]ビューでSkip All Breakpoints
(Window | Show Viev | Debug | Breakpoints
)を選択すると、すべてのアイコンが次のように斜めに打たれます。
@sleskeの答えは、以下を除くすべてのことを説明していると思います。
ティック付きの青いボール:ソースコードがバイトコードと一致し、デバッグ制御が到達するため、ブレークポイントが正常に設定されます。
ブルーボールのみ:ソースコードがバイトコードと異なります(コードの古いスナップショットを実行している可能性があります)。コントロールがこのブレークポイントに到達することはありません。これらのブレークポイントを制御するには、JARを更新する必要があります。