开发者

data breakpoints in java/eclipse

when developing C++ with VS you have this amazing feature of data breakpoints, which t开发者_Python百科rigger 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.


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


Using the Variable view:

  • right click the field and select "Toggle Watchpoint", and then
  • right click the same instance again and select "Instance breakpoints..." which allows you to restrict a specific breakpoint to a given instance.

Note that the performance is probably not as good as with a memory hardware breakpoint (like in VC++ for example).


Under breakpoint properties, you have the option of making it conditional and checking the radio button "Suspend when value changes".


Right click on the Breakpoint and select Breakpoint properties.

In the opening screen, choose: Conditional -> Suspend when value changes


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜