in reply to perl -d: faster and less scary than you think

++educated_foo,

You make some good points, and I admit that my "list of things to learn more about" in Perl includes the debugger.  It's hard to find to find the time, however, because the "old tricks" in debugging get so ingrained, and Perl makes it so easy to debug without going to the debugger.

But I appreciate the comments you make in your post, because they're a reminder that the Perl debugger is so versatile, and your argument about the lack of a significant time penalty is all the more reason to consider moving this "todo" higher on my mental list.


s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/
  • Comment on Re: perl -d: faster and less scary than you think

Replies are listed 'Best First'.
Re^2: perl -d: faster and less scary than you think
by doom (Deacon) on Jun 04, 2007 at 19:01 UTC
    My standard rap about the perl debugger is that it only takes around a half-an-hour of playing around to learn to use it, but you need to do this some time when you're not worrying about a bug.

    Also, if you start out reading one of the standard references it's easy to get scared away by the sheer quantity of commands (there's around fifty, not counting all of the various options).

    I recommend just starting with these:

    • s - single step
    • n - steps carefully to avoid falling into a sub
    • c - continue processing until a break of some sort
    • r - continue running until you do a return from the current sub
    • v - view some code around the current line
    • b - sets a break point (uses line number or sub name)
    • x - displays value of variables (including arrays & hashes)
    • w - sets a watch expression
    • T - displays a stack back trace
    • L - list all the breaks and watches
    • B * - delete all breakpoints
    • W * - delete all watch expressions
    • R - restart

    (I wrote a debugger tutorial once, but it's way out-of-date. There's a standard one now: perldebtut).