Here is a bomb of an idea: A Debugging Eliza.
After a long and fruitless session of debugging a programmer reaches a certain dead end, where he has already glossed over the problem, has not found it, but noted subconsciously that that venue has been checked – or simply didn’t think about it. At this point he needs to talk to someone about this problem – a sort of a psychiatrist, which doesn’t even have to be human – it could be a slightly tweaked version of Eliza.
“What are you doing?”
“I am debugging Blah-Blah Industrial Application.”
“What was the last thing you tried?”
“I checked that the configuration file corresponds to the Blah-Blah…”
“And how is the Blah-Blah?”
“It’s perfectly fine.”
“And how does that make you feel?”
“It means the problem is somewhere else.”
“Where else could it be?”
etc.
Obviously, this is where a lot of problems are found — when you are asking someone for help, and in the process of explaining the problem realize your error.