Archive for October 2010

Perl debugger tips   Leave a comment

I’ve been using the perl debugger a lot more recently and I figure it’s worth noting down a few of the things I’m doing when using it.

The first thing to do is to make sure ReadLine is installed.  A cpanm Term::ReadLine::Perl Term::ReadKey sorts that out.  That makes command history work as you’d expect which makes it much more useful.

Then to insert a breakpoint in my code I add a line,

$DB::single = 1;

I then start the debugger up using PERLDB_OPTS=NonStop to make it run the program until a break point is hit.

If I get automatic breakpoints because of the recursion auto breakpoint '100 levels deep in subroutine calls!' then I tweak $DB::deep.  This can be done simply by doing a $DB::deep = 1000 on the debugger command line.  Then I can simply restart the debugger using c.

The c command is a really useful one.  You can continue to a line in code so you can skip to the bit of code you are interested in really simply.  Then you just navigate as usual using n and s.

When outputting the contents of a complex object it’s worth knowing that you can limit the number of levels the dump expands out.  You do this by simply putting a number after the x and before the variable name, i.e. x 2 $var.  2 seems to be a good number to start with while you try to figure out where the information you want is.

The references for the debugger are,

Posted October 21, 2010 by colinnewell in Programming

Tagged with ,

Follow

Get every new post delivered to your Inbox.

Join 32 other followers