![](https://img.haomeiwen.com/i66696/4d154edb7fbe846f.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): 推出调试,清除所有信息
网友评论