diff options
author | Guido van Rossum <guido@python.org> | 1995-04-04 12:28:53 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1995-04-04 12:28:53 (GMT) |
commit | 25f6fcc55049e6e3e4e5073817d7b8243186c812 (patch) | |
tree | 48e590174c4c2c96a99ccd046fc3e1ba0237d853 /Doc/lib/libpdb.tex | |
parent | 93dda331ef87a9a723fa3d7fcbfbe5985c7ea0bd (diff) | |
download | cpython-25f6fcc55049e6e3e4e5073817d7b8243186c812.zip cpython-25f6fcc55049e6e3e4e5073817d7b8243186c812.tar.gz cpython-25f6fcc55049e6e3e4e5073817d7b8243186c812.tar.bz2 |
more complete examples
Diffstat (limited to 'Doc/lib/libpdb.tex')
-rw-r--r-- | Doc/lib/libpdb.tex | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/Doc/lib/libpdb.tex b/Doc/lib/libpdb.tex index 54a3f58..a439363 100644 --- a/Doc/lib/libpdb.tex +++ b/Doc/lib/libpdb.tex @@ -12,9 +12,9 @@ stack frame. It also supports post-mortem debugging and can be called under program control. The debugger is extensible --- it is actually defined as a class -\code{Pdb}. The extension interface uses the (also undocumented) -modules \code{bdb} and \code{cmd}; it is currently undocumented but -easily understood by reading the source. +\code{Pdb}. This is currently undocumented but easily understood by +reading the source. The extension interface uses the (also +undocumented) modules \code{bdb} and \code{cmd}. \ttindex{Pdb} \ttindex{bdb} \ttindex{cmd} @@ -25,13 +25,20 @@ specific modules). \index{stdwin} \ttindex{wdb} +The debugger's prompt is ``\code{(Pdb) }''. Typical usage to run a program under control of the debugger is: \begin{verbatim} >>> import pdb >>> import mymodule >>> pdb.run('mymodule.test()') -(Pdb) +> <string>(0)?() +(Pdb) continue +> <string>(1)?() +(Pdb) continue +NameError: 'spam' +> <string>(1)?() +(Pdb) \end{verbatim} Typical usage to inspect a crashed program is: @@ -40,13 +47,19 @@ Typical usage to inspect a crashed program is: >>> import pdb >>> import mymodule >>> mymodule.test() -(crashes with a stack trace) +Traceback (innermost last): + File "<stdin>", line 1, in ? + File "./mymodule.py", line 4, in test + test2() + File "./mymodule.py", line 3, in test2 + print spam +NameError: spam >>> pdb.pm() -(Pdb) +> ./mymodule.py(3)test2() +-> print spam +(Pdb) \end{verbatim} -The debugger's prompt is ``\code{(Pdb) }''. - The module defines the following functions; each enters the debugger in a slightly different way: @@ -111,7 +124,8 @@ Commands that the debugger doesn't recognize are assumed to be Python statements and are executed in the context of the program being debugged. Python statements can also be prefixed with an exclamation point (``\code{!}''). This is a powerful way to inspect the program -being debugged; it is even possible to change variables. When an +being debugged; it is even possible to change a variable or call a +function. When an exception occurs in such a statement, the exception name is printed but the debugger's state is not changed. |