Python pdb调试
来源:互联网 发布:外星人笔记windows 编辑:程序博客网 时间:2024/06/05 09:27
Python提供了pdb命令来对代码进行调试,下面是pdb的使用方法。
#示例脚本:a = 1b = 0print(1/0)
#命令行调试C:\Users\hongze>python -m pdb test.py #调用方法> c:\users\hongze\test.py(1)<module>()-> a = 1(Pdb) l #l查看全部代码 1 -> a = 1 2 b = 0 3 print(1/0)[EOF](Pdb) n #n单步执行> c:\users\hongze\test.py(2)<module>()-> b = 0(Pdb) n> c:\users\hongze\test.py(3)<module>()-> print(1/0)(Pdb) p a #p + 变量名 查看当前变量值1(Pdb) nZeroDivisionError: division by zero> c:\users\hongze\test.py(3)<module>()-> print(1/0)(Pdb) n--Return--> c:\users\hongze\test.py(3)<module>()->None-> print(1/0)(Pdb) q #q退出
你可能会问,如果代码量非常巨大的时候,但不执行得做到猴年马月啊=.=。
import pdb,在需要的地方加上pdb.set_trace(),就相当于设置了一个断点,调试将从断点处执行,上面的命令依然可用,输入c继续执行。
import pdba = 1b = 0pdb.set_trace()print(1/0)#pdb 断点调试实例C:\Users\hongze>python test.py> c:\users\hongze\test.py(6)<module>()-> print(1/0)(Pdb) nZeroDivisionError: division by zero> c:\users\hongze\test.py(6)<module>()-> print(1/0)(Pdb) c #输入c继续执行Traceback (most recent call last): File "test.py", line 6, in <module> print(1/0)ZeroDivisionError: division by zero
要想获得最好的调试体验,还是下载个IDE吧,推荐PyCharm,可以鼠标点击添加断点,图形化操作。
阅读全文