[Python] 使用pdb对python程序进行调试
2021/9/22 20:44:12
本文主要是介绍[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程序进行调试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python