tricks
TRANSCRIPT
Execution Order• Code evaluation• Controlling your steps and breaks• Manipulating code flow• Tracking classes and objects• Ensuring WYSIWYG• Debugging concurrent code• Customizing the debugger
SIGHUP!
IMHO: Always Launch in Debug Mode!• Ability to halt and troubleshoot• Threads• Hot code replacement• Consider launching externally
Excecution Order• Code evaluation• Controlling your steps and breaks• Manipulating code flow• Tracking classes and objects• Ensuring WYSIWYG• Debugging concurrent code• Customizing the debugger
Step Out- Code Evaluation• Both in Java editor and free form• Nothing is private • Watches• In breakpoints• Nested evaluations / breaks • Scrapbook
Execution Order• Code evaluation• Controlling your steps and breaks• Manipulating code flow• Tracking classes and objects• Ensuring WYSIWYG• Debugging concurrent code• Customizing the debugger
Step OUt- Controlling your steps and breaks• Step filters• Frame filters• Smart stepping• Lambda stepping and breakpoints• Exception breakpoints– Break after
Execution Order• Code evaluation• Controlling your steps and breaks• Manipulating code flow• Tracking classes and objects• Ensuring WYSIWYG• Debugging concurrent code• Customizing the debugger
Execution Order• Code evaluation• Controlling your steps and breaks• Manipulating code flow• Tracking classes and objects• Ensuring WYSIWYG• Debugging concurrent code• Customizing the debugger
Step Out - Tracking Classes• Class load breakpoints • Static initializers• All instances and count– Requires ”JVM Memory Debugger View”
plugin
SteP Out- Track Objects• Instance initializers + default
constructor• Unique Id + Labelling objects • Watch points + instance filter• Tracking references
Execution Order• Code evaluation• Controlling your steps and breaks• Manipulating code flow• Tracking classes and objects• Ensuring WYSIWYG• Debugging concurrent code• Customizing the debugger
Step Out- Connection to code• Detecting erroneous source attachment– Editor Warning– Evaluate timestamp of class
• Method breakpoints • Viewing actual code
Execution Order• Code evaluation• Controlling your steps and breaks• Manipulating code flow• Tracking classes and objects• Ensuring WYSIWYG• Debugging concurrent code• Customizing the debugger
Step Out- concurrency• Instance and thread filters on
breakpoints• Step resume • Analyzing deadlocks
Execution Order• Code evaluation• Controlling your steps and breaks• Manipulating code flow• Tracking classes and objects• Ensuring WYSIWYG• Debugging concurrent code• Customizing the debugger
10. REferences• IDE documentation• Debugging in IDEA 2016.1 https://
www.youtube.com/watch?v=VdBsUv4lnm4• Decentipede Eclipse plugin update site:
https://skarsaune.github.io/decentipede.update.site
• JavaZone 2015: ”JVM Debugging under the hood”. https://vimeo.com/138957695