Break when a variable is assigned some value

Viewed 22451

I want jdb (which I'm using via the Eclipse debugger) to break when a variable is assigned some value. I'm not interested in setting a breakpoint at some specific line but rather more generally.

For example, break every time x == null.

Is such a thing achievable?

5 Answers

Yes - What you need to setup is a 'Conditional Breakpoint' - this gives you the ability to stop the program execution and step through the debugger when a certain state of the application is reached.

So, let's say you want to jump into a particular point in the execution when a certain condition is fulfilled (as per the image attached), you can do this as follows:

  1. Open your debugger perspective and select the 'BreakPoints' tab

  2. Add a new BreakPoint in the code file - at the appropriate place where you would like to observe the program execution

  3. Then go back to the 'Breakpoints' tab, right-click on the newly added entry, and select 'Breakpoint Properties'

  4. Set the condition upon which it should be activated

alt text

Yes, those are called watchpoints, and watchpoints can have watch expressions.

Depending on versions and such, you do this by selecting a variable in the Outline view and right-clicking on it, or in the Variables view, control/click on it.

A context menu will have choices for Add Watch Expression and Edit Watch Expression.

Related