Debugging in BlueJ

Download Report

Transcript Debugging in BlueJ

Debugging in BlueJ
Davin McCall
First BlueJ Day, Houston, Texas, 1st March 2006
1
Overview
•
•
•
•
•
•
What is debugging?
Object inspector
Method invocation
“Traditional” BlueJ debugger window
Demo
Questions
First BlueJ Day, Houston, Texas, 1st March 2006
2
Debugging…
• Locate the source of a bug
• Run through the part of the program
where we think the bug is occurring,
watch program behaviour
• In BlueJ this is normal operation!! (to
some extent) - inspectors, method
invocation
• BlueJ also has a (simple) more
traditional debugger
First BlueJ Day, Houston, Texas, 1st March 2006
3
Debugging (cont’d)
• Set “breakpoints” which will halt the
program execution when reached
• Once execution is halted, can continue
execution line by line (“stepping”), either
following or stepping over function calls
• Inspect values of variables in currently
executing methods (the stack). Inspected
objects shown in familiar inspector
windows
First BlueJ Day, Houston, Texas, 1st March 2006
4
Stepping
• Stepping through code …
• Might let us see what is going wrong
• Also serves as a good way to
demonstrate control structure
behavior, program flow, etc
First BlueJ Day, Houston, Texas, 1st March 2006
5
BlueJ as a debugger
• Even without the debugger window,
BlueJ offers unique features which
can be used for debugging and testing
• Construct objects on the fly
• Call arbitrary methods interactively
• Inspect objects and classes to see
field values
First BlueJ Day, Houston, Texas, 1st March 2006
6
Conclusion
• BlueJ provides basic debugging
functionality
• Some of BlueJ’s core features
(interactive invocation and inspection)
are also useful for debugging
• Debugging techniques can serve
another purpose: demonstrating code
behaviour
First BlueJ Day, Houston, Texas, 1st March 2006
7