Pdb Commands for Python Debugging in Command Line

The page is from MIT. Keeping here only for reference.

Startup and Help

python -m pdb <name>.py [args] begin the debugger
help [command] view a list of command, or view help for a specific command

Within a python file:

import pdb
...
pdb.set_trace()
begin the debugger at this line when the file is run normally

Navigating Code (within the pdb interpreter)

l(ist) list 11 lines surrounding the current line
w(here) display the file and line number of the current line
n(ext) execute the current line
s(tep) step into functions called at the current line
r(eturn) execute until the current function's return is encountered

Controlling Execution

b # create a breakpoint at line #
condition 4 a==3 add condition a==3 to the 4th breakpoint
b list breakpoints and their indices
c(ontinue) execute until a breakpoint is encountered
clear # clear breakpoint of index #

Changing Variables / Interacting with Code

p <name> print value of variable <name>
!<expr> execute the expression <expr>
run [args] restart the debugger with sys.argv arguments [args]
q(uit) exit the debugger