Python Debugger Cheatsheet
Getting started
Movement
import pdb;pdb.set_trace() start pdb from within a script
<ENTER> repeat the last command
python -m pdb <[Link]>
n(ext)
execute the current statement (step over)
s(tep)
execute and step into function
r(eturn)
continue execution until the current function returns
c(ontinue)
continue execution until a breakpoint is encountered
u(p)
move one level up in the stack trace
d(own)
move one level down in the stack trace
start pdb from the commandline
Basics
h(elp)
print available commands
h(elp) command print help about command
q(quit)
quit debugger
Examine
p(rint) expr
print the value of expr
pp expr
pretty-print the value of expr
w(here)
l(ist)
Breakpoints
b(reak)
show all breakpoints with its number
print current position (including stack trace)
b(reak) lineno
set a breakpoint at lineno
list 11 lines of code around the current line
b(reak) lineno, cond stop at breakpoint lineno if Python condition cond holds, e.g.
i==42
l(ist) first, last list from first to last line number
a(rgs)
print the args of the current function
Miscellaneous
!stmt
alias map stmt
b(reak) file:lineno
set a breakpoint in file at lineno
b(reak) func
set a breakpoint at the first line of a func
tbreak lineno
set a temporary breakpoint at lineno, i.e. is removed when
first hit
treat stmt as a Python statement instead of a pdb
disable number
command
disable breakpoint number
enable number
enable breakpoint number
clear number
delete breakpoint number
map Python statement as a map command
alias map <arg1 . . . > stmt pass arguments to Python statement.
stmt includes %1, %2, . . . literals.
Save pdb commands to local <./.pdbrc> file for repetitive access.
Author: Florian Preinstorfer (nblock@[Link]) version 1.1 license cc-by-nc-sa 3.0
See [Link] for more information.