Debugging - Hints and techniques


Every programmer probably had some training in learning a language or framework – but how did you learn to fix the defects in your software?

When you fell in love with programming (or at least decided it was a remunerative career), you probably thought of it as a creative endeavor. You’d design great software, write the code, and poof! - it’d work perfectly the first time.

Yeah. Right.

In the real world, you spent a bunch of your time debugging code rather than writing new stuff. You can too-easily picture the days you spent looking for the Bug From Hell, and its effect on your project schedule. However, people usually focus on tools, such as languages or frameworks, and not on meta-techniques, such as “How to find that bug in two hours instead of two days.” Languages may come and go, and so will IDE debuggers, but the ability to discern under which rock your bug is hiding is one that will stay with you forever.

This talk is intended to present the first steps on the techniques of debugging software, from the very basics to a real world application using a modern integrated development environment with Python.