• Python pdb调试



    Python提供了pdb命令来对代码进行调试,下面是pdb的使用方法。

    #示例脚本:
    a = 1
    b = 0
    print(1/0)
    #命令行调试
    C:Usershongze>python -m pdb test.py   #调用方法
    > c:usershongze	est.py(1)<module>()
    -> a = 1
    (Pdb) l                                 #l查看全部代码
      1  -> a = 1
      2     b = 0
      3     print(1/0)
    [EOF]
    (Pdb) n                                 #n单步执行
    > c:usershongze	est.py(2)<module>()
    -> b = 0
    (Pdb) n
    > c:usershongze	est.py(3)<module>()
    -> print(1/0)
    (Pdb) p a                               #p + 变量名 查看当前变量值
    1
    (Pdb) n
    ZeroDivisionError: division by zero
    > c:usershongze	est.py(3)<module>()
    -> print(1/0)
    (Pdb) n
    --Return--
    > c:usershongze	est.py(3)<module>()->None
    -> print(1/0)
    (Pdb) q                                 #q退出

    你可能会问,如果代码量非常巨大的时候,但不执行得做到猴年马月啊=.=。

    import pdb,在需要的地方加上pdb.set_trace(),就相当于设置了一个断点,调试将从断点处执行,上面的命令依然可用,输入c继续执行。

    import pdb
    
    a = 1
    b = 0
    pdb.set_trace()
    print(1/0)
    
    
    #pdb 断点调试实例
    C:Usershongze>python test.py
    > c:usershongze	est.py(6)<module>()
    -> print(1/0)
    (Pdb) n
    ZeroDivisionError: division by zero
    > c:usershongze	est.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,可以鼠标点击添加断点,图形化操作。

  • 相关阅读:
    面试笔试题目集
    [vs2010]:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”?
    [数据库] SQLite常见问题解答
    安卓学习资料总结39
    Android 学习资料总结40
    python变量的定义和使用
    python运算符
    python的注释
    print输出函数
    python数据类型转换
  • 原文地址:https://www.cnblogs.com/wanghongze95/p/13842604.html
Copyright © 2020-2023  润新知