Customizing the Debugger
You can do some customizing by setting up a .perldb file with initialization code. When it starts up, the debugger reads and processes this file. For instance, you can set up aliases such as these:
$DB::alias{'len'} = 's/^len(.*)/p length($1)/'; $DB::alias{'stop'} = 's/^stop (at|in)/b/'; $DB::alias{'ps'} = 's/^ps\b/p scalar /'; $DB::alias{'quit'} = 's/^quit\b.*/exit/';
You can also use this file to set options and define a
subroutine, &afterinit
, to be
executed after the debugger is initialized.
After the configuration file has been processed, the debugger
consults the environment variable PERLDB_OPTS and parses its contents as
arguments to the O
opt=val
debugger command.
While any options can be set in PERLDB_OPTS, the following
options can only be specified at startup. If you
want to set them in your configuration file, call &parse_options("opt=val")
.
TTY
The TTY to use for debugging I/O.
noTTY
If set, goes in NonStop mode. On an interrupt, if TTY is not set, it uses the value of
noTTY
or /tmp/perldbtty$$ to find the TTY using Term::Rendezvous. The current variant is to have the name of the TTY in this file.ReadLine
If false, a dummy
ReadLine
is used so you can debug ReadLine applications.NonStop
If true, no interaction is performed until an interrupt.
LineInfo
File or pipe to print line number information to. If it’s a pipe, then a short, emacs-like message is used.
For example, if you create the following .perldb file:
&parse_options("NonStop=1 LineInfo=db.out"); ...
Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.