I have a book on my shelf titled "Software Exorcism", which is all about debugging and optimization. It's a good book, but it doesn't have any reference to the (I suspect) widely-used-but-rarely-discussed technique of "shower debugging".
Shower debugging is somewhat related to inspection, where you read source code to try to find the bug, but substitutes hot water and toiletries for a code editor.
I was working on a problem this morning, and managed to figure out what was going on and why in about 10 minutes.
There are, however, a few cautions with this technique: