中快捷方便的调试利器pdb

微笑、不失礼 提交于 2019-12-03 04:27:52

1.终端命令行中进入调试模式

  • python -m pdb xxx.py

2.Jupyter中进入调试模式

1.异常的显示方式

  • %Verbose 详细显示
  • %Plain 简单显示

2.进入调试模式的方法

  • 任何时候都可以进入调试,在代码需要调试的部分,使用pdb包里的.set_trace()方法,进入pdb调试模式
  • 异常后手动进入调试,发生异常后,手动输入%debug进入pdb调试模式
  • 异常后自动进入调试,前部加%pdb on,当发生异常后自动进入pdb调试模式

3.调试快捷键

  • 设置断点
    b 行数n : 在当前文件的n行设置断点

  • 调试操作
    n: 单步运行,不进入函数
    s: 单步运行,可进入函数
    c: 恢复执行,至下一个断点
    u/d :在函数调用栈中上下移动
    q: 退出调试
    其中:可以用 Enter 重复前一个命令

  • 查看变量
    !vname或者p vname :可查看变量的内容

4.显示行号
点击View-->点击Toggle Line Numbers

2.代码示范

1.任何时候都可以进入调试,在代码需要调试的部分,使用pdb包里的.set_trace()方法,进入pdb调试模式

import pdb
pdb.set_trace()
def chu(a,b):
    c = a/b
    return c
a = 1
b = 0
c = chu(a,b)
--Return--
> <ipython-input-1-02fe8b596d4f>(2)<module>()->None
-> pdb.set_trace()
(Pdb) b 6
Breakpoint 1 at <ipython-input-1-02fe8b596d4f>:6
(Pdb) c
> <ipython-input-1-02fe8b596d4f>(6)<module>()->None
-> a = 1
(Pdb) 

2.异常后手动进入调试,发生异常后,手动输入%debug进入pdb调试模式

def chu(a,b):
    c = a/b
    return c
a = 1
b = 0
c = chu(a,b)
%debug

3.异常后自动进入调试,前部加%pdb on,当发生异常后自动进入pdb调试模式

%pdb on
def chu(a,b):
    c = a/b
    return c
a = 1
b = 0
c = chu(a,b)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!