Software Carpentry
Debugging

What It Is

What's Wrong with Print Statements

Symbolic Debuggers

Running in a Debugger

Basic Operations

How Debuggers Work

Advanced Operations

Rule 0: Get It Right the First Time

Rule 1: What Is It Supposed to Do?

Rule 2: Is It Plugged In?

Rule 3: Make It Fail

Rule 4: Divide and Conquer

Rule 5: Change One Thing at a Time, For a Reason

Rule 6: Write It Down

Rule 7: Be Humble

Summary