|When you use a debugger to find a problem in your code, you do indeed find the answer to that specific problem faster. But you lose an opportunity to review your logic and clean your code up, which can often solve more bugs and helps in comprehension.
I think I agree with you, but when I use debuggers, it's
usually not on my code. In fact, I rarely use the perl
debugger, because when I debug perl, its usually my own code :)
I've on rare occasions used the perl debugger to help track
down problems in library modules, but usually looking at
the source is good enough because I find perl source easy
to find, and (mostly) easy to follow.
I've mostly used debuggers with monolithic 4gl code which
would include libraries on top of libraries, and the only
way to find a problem without inserting a zillion print
statements was to run the debugger (and I don't want to
fully comprehend all the code, at least not today, I just
want to fix the problem). And I would inherit
problems from other programmers who would work for days
on a problem but couldn't use the debugger, and I'd solve it in a few minutes or hours. So IMO it just depends on
the environment. I use the perl debugger so rarely that
every time I have a notion to use it, I find I have to
relearn it :-)
Update: Oh, and one more reason I use the debugger
less in perl is that you don't have to go through that
'compile it again' phase of the debugging process that
you have to endure in other languages.
Very late update: Recently, I found myself tracking down a problem with totally unfamiliar CPAN http/socket library code. I inserted a couple of $DB::single; statements rather than numerous print's (these were dynamically loaded modules, so this was the easiest way to set breakpoints) and learned something about HTTP...specifically about chunking in the responses.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||