pdb
1 | python -m pdb test.py |
进入交互pdb调试界面后,可键入如下命令
命令 | 用法 |
---|---|
h/help | 查看可用命令 |
h command | 查看command用法 |
p | 查看变量值 |
pp | 查看变量值(pretty-print) |
n/next | 单步执行(遇到函数会跳过中间步骤) |
s/step | 单步执行(遇到函数不会跳过中间步骤) |
c/cont/continue | 执行到下一断点前 |
run/restart | 重新运行程序 |
b/break 10 | 第十行设置断点 |
cl/clear num | 删除断点 |
l | 显示当前文件的源码 |
ll/longlist | 显示当前function或frame的源码 |
j/jump 10 | 跳到第十行开始执行(跳过某些代码) |
unt/until 10 | 执行到第十行 |
a/args | 当前函数参数值 |
q/quit/exit | 退出 |
u/up | 上层调用 |
d/down | 下层调用 |
enable/disable | 断点生效/失效 |
alias/unalias | 别名/取消别名 |
r/return | 执行到return |
rv/retval | 打印上次return的值 |
… | … |
文件内调试
1 | import pdb |
cProfile, pstats
1 | python -m cProfile -s cumtime main.py *args |
name | description |
---|---|
ncalls | 调用次数 |
tottime | 总体耗时 |
percall | 单次耗时 |
cumtime | 累计耗时(含有内层时间) |
percall | 单次耗时(含有内层时间) |
filename:lineno(function) | 文件名:行号(函数) |