Especially when you have complex breakpoint definitions, such as conditional breakpoints and dependent breakpoints, your debug sessions can become difficult to understand. Why not inject some sounds into the process?
I have created a "Beep Selector" for the Breakpoints window. Notice that there's a new button in the left of the window, right below "Create new breakpoint" and "Select breakpoint groups". The icon displayed on it is what you'd expect a sound icon to look like. That button is provided by the plugin I've created. When clicked, the Beep Selector dialog opens. Predefined, you see "Dog" and "Sheep". However, anyone can drop any WAV file into the user directory, within the "Debugger/BreakpointsView/Sounds" folder, which you will need to create yourself. Any file found in that folder is automatically picked up when the dialog above reopens, no checks are done at this point, i.e., make sure it makes sense to put a file there.
Here are some great sound files:
Then any breakpoint can be mapped to any sound, either one of the predefined ones, or your own sound. And then, when the breakpoint is hit, you'll hear your sound! As stated at the start of this blog entry, this is especially handy when you have branching breakpoints, i.e., dependent or conditional breakpoints. You'll immediately be informed when one branch is taken, e.g., the 'true' condition can enable a series of breakpoints that relate to one outcome, while 'false' goes off in another direction. Assign one sound to the breakpoints in one branch and a different sound to the other branch and then your debugging will be much simpler.
And it actually works, for me. Testers welcome, please realize it is basically in Alpha state right now, though.
Get it here: http://plugins.netbeans.org/plugin/56682
Right now, to remove a sound, simply delete the breakpoint.
Over the last few days, I introduced and held an Oracle JET workshop in Oslo, earlier in the same week in Amsterdam, the week before that...