pydb

NAME

pydb --- enhanced Python debugger

SYNOPSIS

pydb
[debugger-options]
python-script
[script-options...]

DESCRIPTION

This manual page documents briefly the
pydb
command.

pydb
is an extended Python debugger. It extends the Python standard
debugger pdb and is suited for use with the graphical debugger DDD.
The purpose of a debugger such as this one is to allow you to see what is
going on ``inside'' another program while it executes---or what another
program was doing at the moment it crashed.

We follow gdb's command set unless there's good reason not to.

pydb can do four main kinds of things (plus other things in support of
these) to help you catch bugs in the act:

• Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another.

Here are some of the most frequently-needed commands:

break [file:line|function]

Set a breakpoint at function or at the specified file and line.

clear [file:line|function]

Clear a breakpoint at function or at the specified file and line. If line number is specified, all
breakpoints in that line are cleared. If a function is specified,
breakpoints at beginning of function are cleared. With no argument,
clears all breakpoints in the line that the selected frame is
executing in. See also the
delete
command which clears breakpoints by number.

continue [line]

Continue running your program until the next breakpoint or until the
end of the program. If a line number is given set a one-time
breakpoint at that line.

delete [breakpoint-numbers]

Delete breakpoints by number. To delete all breakpoints, give no
breakpoint number. See also the
clear
command which clears breakpoints by line/file number.

disassemble [location]

Disassemble Python instructions at the point you are currently stopped
at. If location is a line number, do not show instructions before
line. Location can also be a class, method, function, code or string
argument.

examine expr

Give type/object and value information about expression.

finish
Run until the completion of the current function or method.

frame frame-number

Set the stack frame to frame-number for purposes of examinine local variables. For positioning relative to the current frame, use
up
or
down.

help [name]

Show information about pydb command name, or general information
about using pydb.

info [name]

Get the various information usually about the debugged program.

list [file:line|function]

type the text of the program in the vicinity of where it is presently stopped
or at the specified function or file and line.

next [count]

Execute next program line(s) (after stopping); step over any
function calls in the line.

pp expr

Pretty print the value of an expression.

print expr

Display the value of an expression.

source filename

Read and execute the lines in file filename as a series of debugger
commands. An error in any command terminates execution of the command
file and control is returned to the console.

quit

Exit from the debugger.

run [arglist]

(Re)start your program (with arglist, if specified). If you want the debugger to get reloaded, use
restart
instead.

set

Modify parts of the debugger environment.

shell command

Run a shell command.

show

See the debugger environment settings

step [count]

Execute next program line(s) (after stopping); step into any
function calls in the line.

Report file locations as only the base filename, and omit the
directory name. This is useful in running regression tests.

-x | --command=FILE

Execute commands from FILE.

--cd=DIR

Change current directory to DIR.

--error=FILE

Write debugger's error output (stderr) to FILE

-e | --exec

Run debugger commands command-list. Commands should be separated by
";;"-the same as you would do inside the debugger. You may need to
quote this option to prevent command shell interpretation, e.g.
--exec
"break 20;; continue"

-n | --nx

Don't execute commands found in any initialization files

-o FILE | --output=FILE

Write debugger's output (stdout) to FILE

--sigcheck

Set to watch for signal handler changes.

-T, --threading

Start off with threading debug support.

-A LEVEL | --annotate=LEVEL

Set gdb-like annotation_level. The annotation level is used by
front-ends to get posted about program information when things change
without having to poll for the information.

SEE ALSO

AUTHOR

pydb was written by Richard Wolff <rwolff@noao.edu> (now retired)
based on the standard Python debugger pdb.py. Over the many years, pdb.py and
pydb.py have diverged. It was subsequently revised and
expanded to be more like gdb by Rocky Bernstein <rocky@gnu.org>

The first version of this manual page was written by Gregor Hoffleit
<flight@debian.org> for the Debian project (but may be used by
others).