• python pdb调试以及sublime3快捷键设置


    python pdb调试以及sublime3快捷键设置

    pdb调试

    如果对gdb比较熟悉的话,pdb就很容易上手。以一个demo快速了解常用的调试命令。

    def test(a):
        while True:
            if a > 10:
                break
            a += 1
        return a
    
    if __name__ == '__main__':
        test(1)
    
    • python -m pdb test.py进入调试环境
    • b test
      在test函数处设置断点,断点号为1
    (Pdb) b test
    Breakpoint 1 at f:pythonpdb	est.py:1
    
    • b 2
      在第二行设置断点,断点号为2
    (Pdb) b 2
    Breakpoint 2 at f:pythonpdb	est.py:2
    
    • condition 2 a7
      在2号断点处设置条件 a
      7
    • b
      显示所有断点信息
    (Pdb) b
    Num Type         Disp Enb   Where
    1   breakpoint   keep yes   at f:pythonpdb	est.py:1
    2   breakpoint   keep yes   at f:pythonpdb	est.py:2
        stop only if a==7
    
    • cl 1
      去除1号断点,只有cl删除所有断点
    (Pdb) cl 1
    Deleted breakpoint 1
    
    • n
      单步跟踪,不进入函数
    (Pdb) n 
    > f:pythonpdb	est.py(8)<module>()
    -> if __name__ == '__main__':
    (Pdb) n 
    > f:pythonpdb	est.py(9)<module>()
    -> test(1)
    
    • s
      单步跟踪,进入函数
    (Pdb) s
    --Call--
    > f:pythonpdb	est.py(1)test()
    -> def test(a):
    
    • c
      继续运行在 a==7 条件断点处停止
    • p a
      此时,打印a的值为7
    (Pdb) c 
    > f:pythonpdb	est.py(2)test()
    -> while True:
    (Pdb) p a
    7
    
    • a
      打印所在函数参数
    (Pdb) a 
    a = 7
    
    • l
      查看运行到某处代码
    (Pdb) l 
      1     def test(a):
      2 B->     while True:
      3             if a > 10:
      4                 break
      5             a += 1
      6         return a
      7     if __name__ == '__main__':
      8         test(1)
    [EOF]
    
    • quit
      退出

    sublime设置

    sublime设置快捷键F5为运行,Ctrl+F5调试。就会对python调试方便很多。

    • Package Control中下载SublimeREPL(Read-Eval-Print-Loop)
    • Preferneces -> Key Bingdings-User进行设置
    [
      {
        "keys": [
          "f5"
        ],
        "caption": "SublimeREPL: Python - RUN current file",
        "command": "run_existing_window_command",
        "args": {
          "id": "repl_python_run",
          "file": "config/Python/Main.sublime-menu"
        }
      },
      {
        "keys": [
          "ctrl+f5"
        ],
        "caption": "SublimeREPL: Python - PDB current file",
        "command": "run_existing_window_command",
        "args":
        {
            "id": "repl_python_pdb",
            "file": "config/Python/Main.sublime-menu"
        }
      }
    ]
    
  • 相关阅读:
    接口设计安全
    PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解
    OpenSSL使用小结
    sql的三种去重
    关于if语句&&运算符先判断空异常
    关于数据库可为null的datetime 字段
    sql server去重
    asp.net updatepanel 局部更新后调用js
    级联 -- 逻辑
    关于滑动验证的思路构思
  • 原文地址:https://www.cnblogs.com/xianwang/p/4916045.html
Copyright © 2020-2023  润新知