Chapter 28. Beautiful Debugging

Andreas Zeller

My name is andreas, and i have been debugging.” Welcome to Debuggers Anonymous, where you can tell your debugging story and find relief in the stories of others. So you have spent another night away from home? Good thing you’ve only been in front of the debugger. So you still cannot tell your manager when that showstopper will be fixed? Let’s hope for the best! The fellow in the cubicle next to you brags about searching for a bug for 36 consecutive hours? Now that’s impressive!

No, there is nothing glamorous about debugging. It is the ugly duckling of our profession, the admission that we are far from perfect, the one activity that is the least predictable or accountable—and a constant impetus to feelings of remorse and guilt: “If only we had done better right from the start, we wouldn’t be stuck in this mess.” The defect is the crime; debugging is the punishment.

Let us assume, though, that we have done all we can to prevent errors. Yet, from time to time, we will find ourselves in a situation where we need to debug. And as with all other activities, we need to handle debugging in the most professional, maybe even “beautiful” way.

So, can there be any beauty in debugging? I believe there can. In my own life as a programmer, there have been a number of moments when I encountered true beauty in debugging. These moments not only helped me solve a problem at hand, but actually evolved into new approaches to debugging as a whole—approaches ...

Get Beautiful Code now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.