Believe what you see, not what you believe
- Synthetic execution
- use your brain, pretend to be the program in execution
- Tracing
- program reports the lines of code as they are executed
- can set this up in Unix with
set -x
- print statements
- oof
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?
Brian Kernighan