Debuggers: a modern 'Dr. Jekyll and Mr. Hyde'. I found this article more interesting than I expected to.
Beside that for certain problems a debugger is a great tool it prevents many developers from focusing on the real problem that their code is plain buggy and that they have no clue where to look for. Stepping through a program only works well when the developer can remember where he came from and where he is heading to. But most of the time people lose that and when they found the problem they do not know how they got there in the first place and so the have to step through multiple times until they understand what caused the problem and how to fix it. A much better way is to look at your code, log output and, if you have, your test cases to localize your problem area and then focus on this area. For me this does mostly lead to a solution and I do not need a debugger anymore. With an AOP framework and a decompiler I can also debug third party library without a debugger.
I've advocated logging before. In particular, now I want to check out log4j and understand how that works.
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):