[关闭]
@songying 2019-01-02T16:55:55.000000Z 字数 1288 阅读 1588

python debugging

python


https://docs.python.org/3/library/pdb.html

ipdb 运行调试

  1. python -m ipdb file.py
  2. ipdb file.py

ipdb 快捷键一览

快捷键 功能
h [command] 查看命令帮助
w 打印上下文信息以及堆栈信息
d [count]
u [count]
b [([filename:]lineno function) [, condition]]
tbreak [([filename:]lineno function) [, condition]]
cl [filename:lineno bpnumber [bpnumber ...]]
disable [bpnumber [bpnumber ...]] 使断点有效
enable [bpnumber [bpnumber ...]] 使断点生效
ignore bpnumber [count] 忽略断点count次
condition bpnumber [condition]
commands [bpnumber]
s 进入函数调用的内部
n 下一条语句
u [lineno]
r 执行代码直到当前所在的这个函数返回
c 执行代码直到遇到某个断点或程序执行完毕。
j lineno 跳过某段代码,直接执行指定行号所在的代码。
l [first[, last]] 显示更多上下文
ll 显示更长的上下文
a 打印出传入函数的所有参数的值
p expression 打印表达式的值
pp expression
whatis expression 查看expression的类型
source expression
display [expression]
undisplay [expression]
interact
alias [name [command]]
unalias name
! statement
run [args ...]
restart [args ...] 重新启动调试器,断点等信息都会保留
q 退出调试, 并清除所有信息。

pdb在py文件中的使用

  1. import pdb
方法 说明
pdb.run(statement, globals=None, locals=None)
pdb.runeval(expression, globals=None, locals=None)
pdb.runcall(function, *args, **kwds)
pdb.set_trace(*, header=None)
pdb.post_mortem(traceback=None)

pdb.pm()

Pdb类

  1. class pdb.Pdb(completekey='tab', stdin=None, stdout=None, skip=None, nosigint=False, readrc=True)
方法 说明
run(statement, globals=None, locals=None)
runeval(expression, globals=None, locals=None)
runcall(function, *args, **kwds)
set_trace()
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注