Resume and Terminate
When we start debugging, Eclipse will suggest you entering the Debug Perspective
. The Break Points View
lies on the top-right corner of the Debug Perspective
.
If we put a break point at Line 8, then the process will highlight and pause at Line 8. Note that Line 8 has not been executed yet at this moment.
-
Resume (F8)
will resume the process until it hits the next break point. -
Terminate (Command + F2)
will terminate a debugging process.
Step Over, Step Into and Step Return
-
Step Over (F6)
: Execute current and pause at the next line. -
Step Into (F5)
: Go into methods. -
Step Return (F7)
: Return from the current method and go a level back.
Break when Exception thrown
Go to the breakpoints window, there's a button that looks like J!
, there we can set breakpoints for Java exceptions, either caught or uncaught. We can reference classes or use pattern matchers for exception names. (thanks to StackOverflow)
Step into Selection
int firstPersonAge = DataUtil.getPersonData().get(0).getAge();
For the chained methods above, if we want to debug the getPersonData()
, we can use the Step Into
method to get inside. However, if we want to debug the getAge()
, then Step Into
won't help. To achieve our goal, select the method getAge()
, right click and choose Step Into Selection
. Note that we can also achieve this by putting a break point inside getAge()
.
Evaluating Expression using Inspect, Execute and Watch
-
inspect
: right click and choose inspect, superset ofexecute
. We can even inspect an expression before our debug reach that line, if all the variable it needs are already defined. -
execute
: right click and choose execute, will execute the selected expression. -
watch
: right click and choose watch, will create a customized expression in the "Expression" tab on top right corner.
Show Logical Structures
Show logcial structures
is a switch on the Break Points View
. Without this tunred on, the view will show up the internal representations of the collection objects. With it tunred on, the view will show up its children information will be far more useful.
Changing of Variable's Values during Debugging
Simply double click the variables on the break point windows and input the new values we want. Sometimes, we need to right click the variable and choose Change Value...
.
Utilize the Display View
The Display View
displays the result of evaluating an expression in the context of the current stack frame. We can evaluate and display a selection either from the editor or directly from the Display View
.
Windows --> Show View --> Display
Conditional Breakpoint and Hit Count
The debug process pause at a conditional break point only when it meets the break point's condition.
Right click the break point --> Break Point Properties... (Command + Double Click)
For example, the following codes pause at the break point only when the Person
instance's country equals to US.
By checking the Hit count
box in the Line Breakpoint
panel above, we can specify the "hit count". For example, if we set it as 6, the process will not pause for the first 5 valid iterations.