ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-09-22 19:30:44  阅读:163  来源: 互联网

标签:code Python 代码 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

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

标签:code,Python,代码,python,设置,断点,pdb,调试
来源: https://blog.csdn.net/ztmajor/article/details/120420775

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有