Johnny.sh

Debugging Rules

  1. Understand the system
  2. Make it fail
  3. Quit thinking and look
  4. Divide and conquer
  5. Change one thing at a time
  6. Keep an audit trail
  7. Check the plug
  8. Get a fresh view
  9. If you didn’t fix it, it ain’t fixed

Attribution: http://debuggingrules.com/

More Notes

Some more notes on debugging.

Binary Search

Similar to number 4 above, you can use binary search to debug problems. Divide an area into two, and validate if one half does or does not have the bug.

Before finding where the bug is, find out where the bug is not.

See also: Bifurcate the problem

Reasoning by Analogy

A complex problem is hard to solve. No doubt. By trying to brute-force a solution to the problem, you can waste a lot of tme

Instead, find a similar easy problem, find the solution to that, and then try to backport the solution to your hard problem.

Last modified: February 22, 2023
/about
/uses
/notes
/talks
/projects
/podcasts
/reading-list
/spotify
© 2024