Upload
odina
View
43
Download
2
Tags:
Embed Size (px)
DESCRIPTION
DrJava Debugger by Dr. lee 10/2008. Tracing Execution. One way to trace what is happening in your program is To add System.out.println() statements Add these to print out the value of the current object’s name before and after the name is initialized in the constructor that takes a name - PowerPoint PPT Presentation
Citation preview
DrJava Debugger
by Dr. lee10/2008
Tracing Execution
• One way to trace what is happening in your program is – To add System.out.println() statements
• Add these to print out the value of the current object’s name before and after the name is initialized in the constructor that takes a name– System.out.println(sum);– sum = sum + myScore;– System.out.println(sum);
Sample Program 1
public class Sample1 { public static void main(String[] args) { int sum = 0; int myScore = 100; System.out.println(sum); sum = sum + myScore; System.out.println(sum); } }
Debuggers
• You can use a debugger to find the cause of bugs (errors in your program)– A moth caused one bug– http://www.jamesshuggins.com/h/tek1/
first_computer_bug.htm
• And to trace execution to see what is happening– Which constructor is executed or what
method is executed– What values are in the fields
Open a File in DrJava
• Open DrJava• Open the file “TestCircle1.java” in the directory
“C:\CS202-DrJava\CS202-Liang-Textbook-Programs”
DrJava’s Debugger
• Click on Debugger in the menu– Then check the Debug Mode checkbox
Watches and Breakpoints Area
Stack andThreads Area
Check values here
Setting a Breakpoint
• When you use a debugger you often want to set places to stop execution– Each place to stop at is a breakpoint
• Once execution has stopped there– You can check the value of parameters and fields
• To set a breakpoint– Right click on a line of code, then click “Toggle
Breakpoint”– Or click the “Debugger” icon, then click “Toggle
Breakpoint on Current Line”– It will be highlighted in red
Showing a Breakpoint
• Lines with breakpoints are highlighted in red in DrJava
Testing a Breakpoint
• Type the following in the interactions pane
> java TestCircle1
• Execution should stop at the breakpoint and the color change to blue
Show myCircle.radius value• Key in myCircle.radius in the Interactions Pane• You will see “Undefined class ‘myCircle’ “, why? • Execution stops before the breakpoint line is executed
• So the class hasn’t been defined yet
Check myCircle.radius Again
• Click “Step Over” button, then key in myCircle.radius in the Interactions Pane again.
• What do you see? Why? The current line of code has been executed
Debugging Options
• Step Over– Execute the current line of code and then stop again before you
execute the next line of code
• Step Into– If the line of code that we are stopped at has a method call in it,
then stop at the first line in the called method
• Step Out– Execute the rest of the current method and stop at the first line after
the call to this method
• Resume– Continue execution at the current point
• Until the next breakpoint• Or the program ends
• You can quit debugging by clicking on the X
Ctrl-F to Show “Find” & “Replace” Windows
Georgia Institute of Technology