mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Update the documentation. Get rid of the section "how it works"
(which is not very relevant when you're in the debugger :-).
This commit is contained in:
parent
b5699c7240
commit
f60e8e8108
1 changed files with 18 additions and 60 deletions
78
Lib/pdb.doc
78
Lib/pdb.doc
|
@ -44,9 +44,10 @@ Debugger commands
|
||||||
=================
|
=================
|
||||||
|
|
||||||
h(elp)
|
h(elp)
|
||||||
Without argument, print the list of available commands.
|
Without argument, print the list of available commands.
|
||||||
With a command name as argument, print help about that command
|
With a command name as argument, print help about that command
|
||||||
(this is currently not implemented).
|
"help pdb" pipes the full documentation file to the $PAGER
|
||||||
|
"help exec" gives help on the ! command
|
||||||
|
|
||||||
w(here)
|
w(here)
|
||||||
Print a stack trace, with the most recent frame at the bottom.
|
Print a stack trace, with the most recent frame at the bottom.
|
||||||
|
@ -61,15 +62,25 @@ u(p)
|
||||||
Move the current frame one level up in the stack trace
|
Move the current frame one level up in the stack trace
|
||||||
(to a newer frame).
|
(to a newer frame).
|
||||||
|
|
||||||
b(reak) [lineno | function]
|
b(reak) ([file:]lineno | function) [, "condition"]
|
||||||
With a line number argument, set a break there in the current
|
With a line number argument, set a break there in the current
|
||||||
file. With a function name, set a break at the entry of that
|
file. With a function name, set a break at the entry of that
|
||||||
function. Without argument, list all breaks.
|
function. Without argument, list all breaks. If a second
|
||||||
|
argument is present, it is a string specifying an expression
|
||||||
|
which must evaluate to true before the breakpoint is honored.
|
||||||
|
|
||||||
|
The line number may be prefixed with a filename and a colon,
|
||||||
|
to specify a breakpoint in another file (probably one that
|
||||||
|
hasn't been loaded yet). The file is searched on sys.path.
|
||||||
|
|
||||||
cl(ear) [lineno]
|
cl(ear) [lineno]
|
||||||
With a line number argument, clear that break in the current file.
|
With a line number argument, clear that break in the current file.
|
||||||
Without argument, clear all breaks (but first ask confirmation).
|
Without argument, clear all breaks (but first ask confirmation).
|
||||||
|
|
||||||
|
The line number may be prefixed with a filename and a colon,
|
||||||
|
to specify a breakpoint in another file (probably one that
|
||||||
|
hasn't been loaded yet). The file is searched on sys.path.
|
||||||
|
|
||||||
s(tep)
|
s(tep)
|
||||||
Execute the current line, stop at the first possible occasion
|
Execute the current line, stop at the first possible occasion
|
||||||
(either in a function that is called or in the current function).
|
(either in a function that is called or in the current function).
|
||||||
|
@ -111,56 +122,3 @@ p expression
|
||||||
q(uit)
|
q(uit)
|
||||||
Quit from the debugger.
|
Quit from the debugger.
|
||||||
The program being executed is aborted.
|
The program being executed is aborted.
|
||||||
|
|
||||||
|
|
||||||
How it works
|
|
||||||
============
|
|
||||||
|
|
||||||
Some changes were made to the interpreter:
|
|
||||||
- sys.settrace(func) sets the global trace function
|
|
||||||
- there can also a local trace function (see later)
|
|
||||||
|
|
||||||
Trace functions have three arguments: (frame, event, arg)
|
|
||||||
- frame is the current stack frame
|
|
||||||
- event is a string: 'call', 'line', 'return' or 'exception'
|
|
||||||
- arg is dependent on the event type
|
|
||||||
A trace function should return a new trace function or None.
|
|
||||||
Class methods are accepted (and most useful!) as trace methods.
|
|
||||||
|
|
||||||
The events have the following meaning:
|
|
||||||
|
|
||||||
'call': A function is called (or some other code block entered).
|
|
||||||
The global trace function is called;
|
|
||||||
arg is the argument list to the function;
|
|
||||||
the return value specifies the local trace function.
|
|
||||||
|
|
||||||
'line': The interpreter is about to execute a new line of code
|
|
||||||
(sometimes multiple line events on one line exist).
|
|
||||||
The local trace function is called; arg in None;
|
|
||||||
the return value specifies the new local trace function.
|
|
||||||
|
|
||||||
'return': A function (or other code block) is about to return.
|
|
||||||
The local trace function is called;
|
|
||||||
arg is the value that will be returned.
|
|
||||||
The trace function's return value is ignored.
|
|
||||||
|
|
||||||
'exception': An exception has occurred.
|
|
||||||
The local trace function is called;
|
|
||||||
arg is a triple (exception, value, traceback);
|
|
||||||
the return value specifies the new local trace function
|
|
||||||
|
|
||||||
Note that as an exception is propagated down the chain of callers, an
|
|
||||||
'exception' event is generated at each level.
|
|
||||||
|
|
||||||
Stack frame objects have the following read-only attributes:
|
|
||||||
f_code: the code object being executed
|
|
||||||
f_lineno: the current line number (-1 for 'call' events)
|
|
||||||
f_back: the stack frame of the caller, or None
|
|
||||||
f_locals: dictionary containing local name bindings
|
|
||||||
f_globals: dictionary containing global name bindings
|
|
||||||
|
|
||||||
Code objects have the following read-only attributes:
|
|
||||||
co_code: the code string
|
|
||||||
co_names: the list of names used by the code
|
|
||||||
co_consts: the list of (literal) constants used by the code
|
|
||||||
co_filename: the filename from which the code was compiled
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue