Probing
Tracing can be accomplished by probing the state of execution. Execution can be watched (or recorded) by printing the location of execution and the state of instance variables.
for(int i=0; i < array.length; i++){ System.out.print("At index: "+i+" "+a[i]); }
We can probe the state of all objects in the array during
execution. This would allow us to determine if values
contain the "expected" values. This method of debugging
is a valuable skill once you know the location of the bug.
Probing does require that a class implements the toString()
so that you can meaningfully print the state of an object.