令人满意的python调试器:ipdb

pdb.jpg

最近需要深入了解一个python的graphql框架graphene,但这个项目文档写得不够详细,使用例子寥寥无几,对于一些稍微复杂的使用场景很难在网上找到信息。

于是决定投资一点时间好好看看其源代码。面对数量惊人的代码,最好的手段莫过于带着问题去debug代码,函数的调用stack,以及数据变量都一清二楚。

开始第一个想到的是用vscode自带的python插件,可惜这个插件目前还不是很完善,很多功能还在完善中,中间浪费了不少时间配置,最后没有得到满意的结果。

后来找到今天的主角ipdb:

PDB(Ipython Debugger),和GDB类似,是一款集成了Ipython的Python代码命令行调试工具,可以看做PDB的升级版。

安装使用


pip install ipdb

然后在代码中插入

import ipdb;
ipdb.set_trace()

帮助


h(help):帮助命令
s(step into):进入函数内部
n(next):执行下一行
b(break): b line_number 打断点
cl(clear): 清除断点
c(continue): 一直执行到断点
r(return): 从当前函数返回
j(jump): j line_number,跳过代码片段,直接执行指定行号所在的代码
l(list): 列出上下文代码
a(argument): 列出传入函数所有的参数值
p/pp: print 和 pretty print 打印出变量值
r(restart): 重启调试器
q(quit): 推出调试,清除所有信息

你可能感兴趣的:(令人满意的python调试器:ipdb)