Yes, when I debug I first verify all the obvious things with quick sanity checks, and then do a binary search down to the more detailed possibilities. Just yesterday I helped my friend find an inscrutable bug. He checked the inputs (he expected "myString" and indeed got "myString") so he delved deep into the system fruitlessly for hours. When I helped, I quickly uncovered that "myString" != "myString": his input had a carriage return prepended to it!