![Page 1: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/1.jpg)
Debugging 101Neelima Mukiri
![Page 2: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/2.jpg)
Case Studies (Please refer to the blog
post)
![Page 3: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/3.jpg)
Define the Problem
Who?
What?
Where? When?
How?
Why?
Define the Problem
![Page 4: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/4.jpg)
Understand the System• Product ecosystem
• Programming Language
• Frameworks
• Operating System
• Networking
• Storage
• Hardware
![Page 5: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/5.jpg)
Collect More Information
• Software, hardware configurations
• Work loads
• State of the system at panic
• Compare with a working system
• User and privilege information
![Page 6: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/6.jpg)
Recreate the Failure
http://www.youtube.com/watch?v=gIdcvIqkSBA&t=0m55s
![Page 7: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/7.jpg)
Identify Potential Causes
• Brainstorm
• Clues from data
• Experience and Intuition
• Potential Cause and effect analysis
![Page 8: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/8.jpg)
Divide and Conquer
• Software Instrumentation
• Hardware Dumps
• Hardware assisted memory virtualization
• Software/Hardware Versions Involved
![Page 9: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/9.jpg)
Track the Changes
• Document EVERYTHING
• It is easy to lose track of experiments done, results and side effects
• Recreate the failure after every change
• Absence of failure means nothing…almost
![Page 10: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/10.jpg)
Cause and effect analysis
• Zoom in on probable cause
• Does it explain all the symptoms
• Does anything in the system state contradict expected behavior for this cause
• Test fixes
![Page 11: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/11.jpg)
DON’T PANIC
![Page 12: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/12.jpg)
Method to the madness• Define the problem precisely
• Understand the system in depth
• Collect data
• Catch the failure
• Identify potential causes
• Divide and conquer
• Track changes and effects
• Document everything
• Test the fixes
• Diversity Rocks
![Page 13: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/13.jpg)
Collaborate
Brainstorm
![Page 14: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/14.jpg)
Discuss, explain, get a fresh look
![Page 15: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/15.jpg)
Design for Debugging• Bugs are inevitable
• Logs, monitoring, configuration collection
• Replication Tools
• Stress Options
• Debug tools are Products
• Can you Ping your system?
• Workarounds and Feature Switches
![Page 16: Debugging 101 - WordPress.com...Happy Debugging! Title debugging101.key Created Date 6/28/2016 6:35:55 PM](https://reader033.vdocuments.net/reader033/viewer/2022060522/60509f80d00b5719224ccde3/html5/thumbnails/16.jpg)
Happy Debugging!