Python教程

[Python] 使用pdb对python程序进行调试

本文主要是介绍[Python] 使用pdb对python程序进行调试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

    • 如何设置断点
    • 常用的pdb调试命令
    • 输入变量名

在一开始~当初我还是~使用print调试~
在那之后我用了pycharm,开始用断点调试。再之后用了vs code,在调试用脚本输入超参的代码调试时遇到了问题。
突然有一天,我突然发现,原来我还可以使用pdb调试。

pdb 是 一个python 包,import之后可以实现设置断点、单步调试、进入函数调试、查看当前代码、动态改变变量的值等操作。

如何设置断点

我们仅需要在我们希望程序停下来的地方按照如下设置:

# some code...

import pdb
pdb.set_trace()

# some code...

然后在运行程序的时候就可以在这个地方停住显示

> 你设置的断点的.py文件路径(断点的行号)正在执行的函数名()
-> 接下来马上要执行的代码
(pdb)

然后我们就可以在(pdb)的符号后面输入一些指令或者变量名来进行一些操作。

常用的pdb调试命令

命令效果
break / b用命令设置断点
continue / c继续执行程序到下一个断点
list / l查看当前行的代码段
step / s进入函数
return / r执行代码直到当前函数的返回
exit / q中止并退出断点调试
next / n继续执行下一行
pp打印变量的值
help帮助

输入变量名

可以查看输入的变量的值
假设原始代码test.py里的代码如下

import pdb
pdb.set_trace()

# test case
a = 1
b = 2
c = 3
d = 4

我们运行程序可能见到如下情况:

> test.py(5)<module>()
-> a = 1
(pdb)n
-> b = 2
(pdb)a
1 
(pdb)b
*** NameError: name 'b' is not defined
(pdb)n
-> c = 3
(pdb)b
2

赶快找一段程序自己试试吧~

这篇关于[Python] 使用pdb对python程序进行调试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!