What does it mean for a breakpoint to be installed

2019-02-21 14:31发布

问题:

The documentation for Eclipse states that a blue circle icon represents an

enabled line breakpoint

and that a checkmark is an

adornment that marks a line breakpoints as installed

What's the difference between active, installed and enabled, when referring to breakpoints? Is installed -- in this case -- an Eclipse-specific definition?

回答1:

This thread (2002!) has a good explanation for installed breakpoints

Blue breakpoints mean that the breakpoint is not installed.
In older builds, a green icon means that the breakpoint was successfully installed.
An installed breakpoint means that the class has been loaded in the target VM and a breakpoint request has been successfully created at the desired location (for a line breakpoint) for the current debug target.

In the current builds, an installed breakpoint is indicated with a small checkmark overlay icon on top of the blue "base" icon.

A breakpoint may not been installed:

  • when the class is not loaded (or not yet loaded)
  • our breakpoint location verifier fails to identify a non-executable line of code and lets you place a breakpoint on that line.
  • when you run instead of debug.

As mentioned in jdt documentation:

  • An enabled breakpoint causes a thread to suspend whenever the breakpoint is encountered. Enabled breakpoints are drawn with a blue circle and have a checkmark overlay once successfully installed. A breakpoint can only be installed when the class the breakpoint is located in has been loaded by the VM.
  • A disabled breakpoint will not cause threads to suspend. Disabled breakpoints are drawn with a white circle .


回答2:

I think it's a breakpoint that's been compiled and is available next time you run.



回答3:

Installed means that the program will indeed hit that break point when debugging.