Skip to Content
Navigation:
Cover for The Pocket Guide to Debugging

The Pocket Guide to Debugging

Debugging is frustrating. It feels like a distraction from “real” work, bugs come up at the worst time, you have to read piles of inscrutable error messages that don’t make sense, it’s unclear where to start, and the process can feel very chaotic and overwhelming.

The FEELINGS make everything harder, too: we all know we should be taking a rigorous, methodical, and logical approach to debugging, but it’s hard to do that when you’re frustrated and you just want to get it to work.

And nobody teaches you how to debug! If you’re lucky, you get to pair program with someone who’s good at debugging and explaining their thought processes, and they can show you how do it. But not all of us have that person, so we end up just struggling through it ourselves and learning strategies the hard way.

Sometimes it feels like “google, try random stuff, and despair” is the only option, but it’s not. Since I started learning to program 20 years ago, I’ve learned a more fun (and more effective!) way to debug, where you:

  • learn from your bugs, so that you can often skip straight to “oh, I’ve seen this before!”
  • have a million different ways to make progress, so that you always have something to do next
  • continuously run experiments to gather information (in debugging, even failed experiments are progress!)
  • understand exactly why the bug happened, which makes it very easy to fix it
  • and ultimately, learn from your bugs to become an expert on the things that went wrong

After reading this zine, you’ll have dozens of specific debugging strategies that you can use in any programming language to investigate your hardest bugs.

I want this!

Credits!

  • Cover art by Vladimir Kašiković
  • Editing by Dolly Lanuza, and Kamal Marhubi
  • Pairing: Marie Claire LeBlanc Flanagan
  • Copy Editing by Gersande La Flèche
  • and thanks to all the dozens of beta readers <3

Commonly asked questions:

what's a zine?

According to Wikipedia:

A fanzine (blend of fan and magazine or -zine) is a non-professional and non-official publication produced by enthusiasts of a particular cultural phenomenon (such as a literary or musical genre) for the pleasure of others who share their interest.

The zines on this site are usually about 20 pages, and they’re full of short, informative, and fun comics which will quickly teach you something useful.

who are these zines for?

They’re aimed at working programmers, like me! The idea is that you’re busy, you want to know how to use some computer thing, and the man page makes your head hurt.

is the PDF version printable?

Yes! The PDF version of the zine includes special PDFs designed to be easy printable on a home printer. Print it out, staple it, fold it, read it, and then give it to a friend! It turns out it’s way easier to convince your friends to read a physical thing that is in front of them.

They all have black & white version to make sure they print well if you only have a black & white printer.

Table of Contents:

Take a peek inside:

© Julia Evans 2024 | All rights reserved (see the FAQ for notes about licensing)