Debugging is at the core of engineering — whether we have to debug behaviour in circuits or in software programs. It’s important we know how to debug problems when they come up — the skill makes or breaks good software engineers.1

Debugging is a learned skill, and there are a few systematic approaches we can take to debugging.

Debuggers are pieces of software that help us to this. Tools include:

Footnotes

  1. Prof Vaughn Betz says it’s close to the most important thing to learn from ECE244 — Programming Fundamentals.