Chapter 42. The Perl Debugger

The Perl symbolic debugger is invoked with perl -d.

Any input to the debugger that is not one of the commands enumerated below is evaluated as a Perl expression.

a [ line ] command

Sets an action for line.

A [ line ]

Deletes the action at the given line; default is the current line. If line is *, deletes all line actions.

b [ line [ condition ] ]

Sets a breakpoint at line; default is the current line.

b subname [ condition ]

Sets a breakpoint at the named subroutine.

b compile subname

Stops after the subroutine is compiled.

b load file

Sets a breakpoint at requireing the given file.

b postpone subname [ condition ]

Sets a breakpoint at the first line of the subroutine after it is compiled.

B [ line ]

Deletes the breakpoint at the given line; default is the current line. If line is *, deletes all breakpoints.

c [ line ]

Continues (until line, or another breakpoint, or exit).

f file

Switches to file and starts listing it.

h

Prints out a long help message.

h cmd

Prints out help for debugger command cmd.

h h

Prints out a concise help message.

H [ -number ]

Displays the last -number commands.

l [ range ]

Lists a range of lines. range may be a number, start - end, start + amount, or a subroutine name. If range is omitted, lists the next screenful.

l subname

Lists the named subroutine.

L [ a|b|w ]

Lists lines with actions, breakpoints, or watches.

m class

Prints the methods callable via the given class.

m expr

Evaluates the expression in list context, prints the methods callable on the first element ...

Get Perl Pocket Reference, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.