Debugging isn't a science that can be taught. In this particular case, everything was made up of the same things a the fundamental level, so it was an easy rabbit hole to follow i.e. since one of these inputs is wrong, then one of these other inputs must be wrong, and follow all the way down.
Debugging a more complex system has to do with the system in question. Sure you can teach people to set breakpoints and to run the debugger, but that's about it. Learning how to observe what is going on in any particular system is something that you learn how to do by banging your head against that system for a long time.
Debugging a more complex system has to do with the system in question. Sure you can teach people to set breakpoints and to run the debugger, but that's about it. Learning how to observe what is going on in any particular system is something that you learn how to do by banging your head against that system for a long time.