So we had some intermittent connection issues on our site the other week. The exact issue isn’t important – neither is the cause (turns out it was an anomaly if a user tried to log in shortly after a build – twenty minutes after a build OWIN handled logins successfully). Naturally we only found this out after trying a plain vanilla ASP.NET build and switching security protocols a few times. This was one of those things that kept me up late on a Wednesday night, and on the way home – yes in the CAR, which is one of several reasons why I’m hated and feared on the I-205 – I jotted down a few IF-THIS-THEN sort of debug scenarios. I’m including this below not because it’s lucid or comprehensive – it’s neither! – but at least it shows the kind of troubleshooting analysis a programmer goes through. It beats the HECK out of mashing levers and buttons until something works.
Whenever I’m really stuck on a problem, especially an intermittent bug, I like mapping out a decision tree on paper like this. You’ll often think of possibilities and solutions that would NEVER come to you when you’re sweating away at a keyboard at ten p.m.