Hi,

I don't think debugging with logging/println statements and debugging
are either or. Both are approach that can be taken.

HOWEVER, if you are new to programming, learn to use a debugger. While
there is learning involved and it is not always the right tool, having
it available is a great help.

In a past job we had a central staging JavaEE server, that was used to
do QS testing with the end users. That server had the jpdw agent loaded
and at times it was invaluable to be able to just debug in the testing
system with the user reproducing his problem.

With a debugger it is much easier to explorer the current runtime
environment and in contrast to logging statements, you don't need to
know what you want to know before it happens.

Contrary to Tims reply a debugger does not require you to single step
through code. Line break points are pretty fast, method break points
are slower, but can be helpful to get to the offending code quickly.

In the end the same advise as in many other cases in IT applies:

- Know your tools (also the ones you may not like)
- Know when to use which tool

Just a second perspective

Matthias

Am Donnerstag, den 06.08.2020, 03:12 -0400 schrieb Tim Boudreau:
> I've been developing NetBeans itself and plugins for it for 21 years now.
> In that time I have run a debugger against NetBeans maybe ONCE, to see if
> it worked.
> 
> The startup time penalty, and the odds of winding up stepping through code
> you actually need to see, rather than marching endlessly through
> java.util.Logger's source code and other irrelevant stuff, are
> infinitesimal.  Debuggers are a great tool for debugging algorithms you can
> isolate in a test or tiny application, or for learning how programs work
> when you're learning to program.  As a tool for fixing things in huge
> applications with deep stacks, they're pretty much useless - way too much
> distracting noise and way to little signal.
> 
> My suggestion is, learn to love logging statements and
> System.out.println().  You can isolate problems quite fast if you do a sort
> of logging-binary-search - add a logging statement entering the code where
> something goes wrong, and one at a point where that thing probably has
> already gone wrong.  If that works as expected, add logging at the midpoint
> between those two points.  Still okay at the midpoint?  Add one between the
> middle and end - and so forth until you're on the line where things really
> do go wrong (usually just narrowing down the scope lets you see it).
> 
> Sorry to be a downer on debuggers, but I can count on one hand the number
> of times I have learned anything useful from a debugger, and all of those
> times I could have probably found it faster if I'd just read the code.
> 
> -Tim


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



Reply via email to