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:
· Start or restart your Python script, specifying arguments that
might affect its behavior.
· Make your program stop at various points possibly determined by
specified conditions.
· Examine what has happened when your program has stopped.
· 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 [breakpointnumbers]
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 framenumber
Set the stack frame to framenumber 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.
where [count]
Display all or count items of the program stack.
For full details on pydb, see
http://bashdb.sourceforge.net/pydb/pydb/index.html
OPTIONS
--version show the version number and exit
-h | --help
show invocation help and exit
-X | --trace
Show lines before executing them. This option also sets
--batch.
-X | --fntrace
Show functions before executing them. This option also sets
--batch
--batch Don’t run interactive commands on debugger entry
--basename
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
http://bashdb.sourceforge.net/pydb/
http://bashdb.sourceforge.net/pydb/lib/index.html
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).
pydb(1)