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/p scalar /'; $DB::alias{'quit'} = 's/^quit.*/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
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
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"); sub afterinit { $trace = 1; }
your script will run without human intervention, putting trace information into the file db.out .
18.223.171.168