|
Using Exception Breakpoints in WDSc
Hey, David:
I have only been using WDSc (WebSphere Development Studio client) for a few weeks, so this may be an obvious question. How would you watch a variable in a Java program? Is there some way to trace a value or break when a certain condition is met? I hit F8 to run to my break point and hover the mouse over a variable to see its value. I just spent about two hours repeating this procedure to find out why my program was receiving a null pointer exception, even though I knew from the stack trace exactly what line the program was failing on.
--Neil
The debugger in WDSc is amazingly powerful. One useful feature that is easy to miss is the ability to set exception break points. An exception break point causes a running program to stop execution, allowing you to inspect variables and diagnose a problem. To add an exception breakpoint select Add Java Exception Breakpoint from the Run drop-down menu.
You can also add conditional break points and watch a value. Double-click the left border area of the line where you want your breakpoint. A blue bullet will appear, indicating that a breakpoint is set for the line. After setting the breakpoint, right-click the blue bullet and select Breakpoint Properties. . . . The Java Line Breakpoint Properties dialog will appear. Check the Enable Condition checkbox and enter a condition that resolves to a true Boolean value. That condition can be as simple as myString.equals("value"), or a complex condition. The code you enter in this box is nearly unlimited and will be aware of program variables in the executing program. I have even used this dialog to log values to the console, using System.err.println(myString).
The Java Line Breakpoint Properties dialog
|
You can also use the Java line breakpoint properties dialog to set a breakpoint when a value changes, by selecting the Suspend when value of condition changes radio button.
Now that you know where to find these debug features, I bet your future debugging will go much more quickly.
--David
|