豪翔天下

Change My World by Program

0%

Python代码调试: pdb && breakpoing

Breakpoint

从3.7开始,Python新增一个内置的调试方法breakpoint(),详情见PEP553,解决了原有pdb的一些不可能完成的问题。支持开关调试,还可以利用web-pdb实现远程调试

PDB

pdb是Python自带的类gdb、cdb的调试工具。

在Sublime Text的SublimeREPL插件提供了pdb调试应用程序的功能,但是由于手上项目package太过复杂,所以这次我就直接在Django代码要调试的地方插入pdb代码,这样相当于直接在那个地方下了一个断点。可以在任何地方插入如下代码进行中断,即使是Django也能通过这种方式进行调试:

1
import pdb; pdb.set_trace()

pdb常用命令:

  • n:执行下一行
  • s:执行下一行,如果有函数,会进入函数体
  • c:让程序正常运行,直到遇到断点
  • p:打印某个变量
  • !:感叹号后面跟一个语句,可以直接改变某个变量
  • h:帮助
  • l:列出当前将要运行的代码块
  • b:设置断点,例如’b 12’表示在第12行下端点,’b a.py:12’表示在a.py这个文件的第12行下断点
  • cl:清楚所有的断点
  • j:跳到指定的行数
  • a:打印当前函数的参数
  • q:推出调试
坚持原创技术分享,谢谢支持

欢迎关注我的其它发布渠道