Items on ‘Ways of debugging’

Debugging strategies

Saturday, January 16th, 2010

As part of my rare and virtually non-existant series on debugging techniques, I’ve put together a Debugging Strategy Cheatsheet summarising the strategies for fixing code quickly and efficiently that I’ve collected from various sources.

(more…)

Before you debug…

Sunday, June 14th, 2009

It’s worth doing some things first, before you’ve lost three days debugging some stupid problem.

It’s worth doing this before you debug especially when dealing with troublesome, old, boring, stupid bugs. And confusing bugs. And bugs when you’re tired.

Chances are that you won’t though. Neither do I. We, both of us try six million things that we’d like it to be before we look back at the problem and ask… what is the problem?

(more…)

Books on debugging

Saturday, June 13th, 2009

My whole obsession with debugging started by trying to find a book on the subject. Here are a few:

DebuggingDebugging, by David J. Agans promises to help to solve any problem. The methods described in the book are the generic ones I’ll be writing about here – checking the plug; different ways of testing etc. Get “Debugging” from Amazon. David has also created a companion website at http://www.debuggingrules.com/.

(more…)

New series: Debugging techniques

Wednesday, June 10th, 2009

Over the next few months, I’m going to do a short series on debugging. Admittedly, debugging is boring, soul crushing and deadly, deadly dull but it must be done.

You can follow this deeply dreary topic on debugging techniques, should you please.

This short series will cover the methods I’ve found through during my experience on many web app projects and those I found, liked and stolen from a selection of the books on the subject.

Why?… because debugging – or just solving apparently complex problems – is what I spend most of my life doing. Every problem starts as a black box and usually ends up being fixed by a few lines of code, if not less. The question is: how to avoid spending your entire life on 3 lines of code.

The techniques I’ve found for solving problems aren’t based on particular tools, programs or programming languages. They apply to many situations because they’re about solving problems, dealing with information, coming up with ideas…

Here’s some of the things I’ll cover:

  • Before you even type one line of “fixing” code. The bug fixing cycle.
  • Logic tools and problem solving for programmers.
  • Ways of gathering information.
  • Hot to find a cause.
  • How to understand the system.
  • Causes of bugs.