web-dev-qa-db-ja.com

Eclipseではどのようなブレークポイントアイコンが意味しますか?

Eclipseでブレークポイントを操作すると、アイコン/注釈(左側のサイドバーのマーカー)が異なることに気づくことがあります。青いボールだけの場合もあれば、チェックマークが付いている場合もあります。これらの注釈はすべてどういう意味ですか?

76
Fixpoint
  • 青いボール:通常のブレークポイント、アクティブ(ヒットカウントが設定されている可能性があります)
  • 空のボール(白):ブレークポイントが無効になっています(ブレークポイントビューでチェックマークを削除するか、コンテキストメニューでdisable
  • ブレークポイントを通る対角線:すべてのブレークポイントが無効になっています(ボタンskip all breakpointsブレークポイントビューで)
  • ブレークポイントの横にある疑問符:このブレークポイントに対して条件がアクティブです(ブレークポイントのプロパティを確認してください)
136
sleske

チェックマークは、ブレークポイントが正常に設定されたことを意味します。リモートデバッグを行っている場合にのみ表示されると思います。ブレークポイントを追加すると、それは単純なボールとして開始されますが、リモートシステムのJPDAエージェントがそのことを通知され、設定されたことを確認すると、ティックが取得されます。

17
Tom Anderson

説明をインラインで記述したサンプルコードを作成しました。

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
        }
    }
}

Eclipse breakpoint icons

[ブレークポイント]ビューでSkip All BreakpointsWindow | Show Viev | Debug | Breakpoints)を選択すると、すべてのアイコンが次のように斜めに打たれます。

Eclipse breakpoint icons Skip All

9
Honza Zidek

以前の回答に追加します。 小さな白いc緑のボールアイコンの上にあることは、ブレークポイントがクラスレベル。

Class Load Breakpoint

Eclipseヘルプ

5
Ali Khan

@sleskeの答えは、以下を除くすべてのことを説明していると思います。

ティック付きの青いボール:ソースコードがバイトコードと一致し、デバッグ制御が到達するため、ブレークポイントが正常に設定されます。

ブルーボールのみ:ソースコードがバイトコードと異なります(コードの古いスナップショットを実行している可能性があります)。コントロールがこのブレークポイントに到達することはありません。これらのブレークポイントを制御するには、JARを更新する必要があります。

4
rdj7