Reputation: 34036
when developing C++ with VS you have this amazing feature of data breakpoints, which trigger when the data at a certain address in memory changes.
is there a similar feature when developing java in eclipse?
thanks!
edit: about the "suspend when value changes" feature: i have the impression that the execution must still reach the line where the breakpoint is. the thing is i want it to trigger anywhere as soon as the value changes.
Upvotes: 44
Views: 20732
Reputation: 101
Using the Variable view:
Note that the performance is probably not as good as with a memory hardware breakpoint (like in VC++ for example).
Upvotes: 6
Reputation: 29710
You can set a watchpoint on a field: put the cursor at the line where the field is being declared and select the menu Run -> Toggle Watchpoint
or just set a breakpoint by double-clicking at the left margin on that line.
You can change the properties of the watchpoint like suspend on field access
or suspend on field modification
after adding it. Just right-click on the watchpoint at the left margin and select Breakpoint Properties...
Search the help for watchpoint to get more information:
A watchpoint is a special breakpoint that stops the execution of an application whenever the value of a given expression changes, without specifying where it might occur. ...
Upvotes: 63
Reputation: 81667
As far as I know, there is no such generic feature in Eclipse. However, you can give some conditions to an existing breakpoint:
Add a breakpoint somewhere in your code. Then, in the "Breakpoint" view, right click on it, then choose "Breakpoint properties". In the panel, you can add a condition that must be verified to make the application stops on this breakpoint (for example if (foo > 0)
).
This is not exactly what you want, but I do not think Eclipse provides such feature.
Upvotes: 1
Reputation: 299178
Right click on the Breakpoint and select Breakpoint properties
.
In the opening screen, choose: Conditional -> Suspend when value changes
Upvotes: 3
Reputation: 5780
Under breakpoint properties, you have the option of making it conditional and checking the radio button "Suspend when value changes".
Upvotes: 3
Reputation: 68992
The closest thing would be editing the breakpoint properties. You could add conditions to check for distinct values. Another way could be adding a breakpoint to the setter method.
You can set the breakpoint properties by right-clicking on an already set breakpoint in the breakpoint view.
Upvotes: 1