使用ipdb调试Python代码
1.介绍:IPDB是什么?IPDB(Ipython Debugger)是一款集成了Ipython的Python代码命令行调试工具,可以看做PDB的升级版。
2.安装与使用
安装:pip install ipdb
使用:import ipdb;
ipdb.set_trace();
命令式:python -m pdb your_code.py
3.常用命令:
帮助(h)help、
下一条命令(n)next,
进入函数内部(s)step in,
打断点(b)break:
使用b line_number
(break)的方式给指定的行号位置加上断点。使用b file_name:line_number
的方法给指定的文件(还没执行到的代码可能在外部文件中)中指定行号位置打上断点。
恢复执行状态(c)continue
r(return):如果函数太长了,可以直接执行到返回结果的部分。
跳过某段代码(j)jump:这个后面要跟代码的行号。
上下文命令(l)list:列出当前要执行的语句的上下文。l的执行会记录状态,每次输入l都会接着上面的哪行代码展示。ll——展示当前函数的所有代码,每次的执行结果都一样。
使用w(
where)
可以打印出目前所在的行号位置以及上下文信息。
列出当前函数的全部参数(a)argument可以打印出传入函数的所有参数的值。
使用p
(print)和pp
(pretty print)可以打印表达式的值.
清除断点——cl(clear),使用cl
或者clear file:line_number
清除断点。如果没有参数,则清除所有断点。
使用restart
重新启动调试器,断点等信息都会保留。restart
实际是run
的别名,使用run args
的方式传入参数。
使用q
退出调试,并清除所有信息。
总结:以上命令并不是ipdb的所有命令,其他命令需要参考文档。