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?
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:
Open your debugger perspective and select the 'BreakPoints' tab
Add a new BreakPoint in the code file - at the appropriate place where you would like to observe the program execution
Then go back to the 'Breakpoints' tab, right-click on the newly added entry, and select 'Breakpoint Properties'
Set the condition upon which it should be activated