So, here you are, you are sitting in front of your interactive debugger,
stepping for the program, you're looking at the variables, stepping, and stepping, and stepping.
Setting up breakpoints trying to figure out what's going on and no time asked.
You sit in front of your screen. You dig through the code step by step by step by step.
And you watch individual variables appear and disappear. Time passes.
It's late, so you order a pizza. Maybe a cup of coffee.
You keep on watching the screen and some more coffee
and just keep on stepping and stepping to your program as time goes by.
It's pretty late already and you keep on concentrating, stepping, stepping, stepping.
You are so close now. That's when the phone ring. Ring. Ring. Ring.
Who's on the phone? Who's on the phone?
It's a significant other asking you, "When on earth are you planning to come home?"
You are in a lose-lose situation.
You either lose your concentration or you lose your significant other.
You have 30 seconds left until you lose all the concentration you have so carefully build up.
You have 30 seconds to decide what to do.
I know a fair amount of programmers who when faced
with such a problem have taken the only right decision.
And I think that debugging is the number one divorce ground for programmers.