I think it really depends on how well you know the underlying system. Once, I was working on a project written in object pascal and I got to the point where opening the debugger was on average the slower approach to solving most problems. However, I am no where near that point when writing .Net code because the language and the platform became to complex for me to really understand.