python的pdb调试
python里的pdb调试
准备
- 环境:64位win11
- 使用工具:vscode,当然也可以用pycharm等其他编辑工具
- 调试源代码(猜数字小游戏):
import random
quit = 0
while quit == 0:level = int(input("输入游戏难度:"))item = 100if level == 1:passelif level == 2:item = 500elif level == 3:item = 1000answer = random.randint(1,item)guess = int(input("请输入你猜的数:"))flag = 0while flag == 0:if guess == answer:print("恭喜你猜对了!")flag = 1elif guess > answer:print("大了!请输入小一点的数",end = " ")guess = int(input("请输入你猜的数:"))elif guess < answer:print("小了!请输入大一点的数",end = " ")guess = int(input("请输入你猜的数:"))quit = int(input("是否进行下一次?是按0,否按1:"))
引入pbd模块
在python里面想要使用pdb调试,我们首先需要引入pdb模块,也就是在代码最前面加上这样一行代码
import pdb
只有这样我们才能继续进行。
设置断点
你可以在任何一行设置断点,让代码在运行到断点的时候停下来,和编辑软件自带的调试工具直接在代码旁边点上一点不同,你需要在你想停下来的地方上一行加上这样一行代码:
pdb.set_trace()
在开始运行之后你的代码就会停止在这个断点处,并且在终端进入pdb模式,如下我们熟悉的猜数字小游戏(使用软件vscode):
我们可以看到我在输入level之后一行设置了断点,在我运行之后,输入了level的值之后,程序就停了下来,进入了pdb模式。
常用命令
列出脚本清单 :l
‘l’是list的缩写,我们可以再终端输入l来列出脚本清单,也就是显示当时代码的上下文。如下图:打印表达式结果:p
p是print的缩写,在终端中输入
p 表达式,表达式……
的方式来打印你需要看到的量,比如下图:
打印quit,发现其值为0下一行:n
我们程序需要继续往前跑,这时候我们就可以输入 ‘n’(next的缩写)来进行单步调试:
可以看到,程序已经一步步的运行。运行程序直至遇到下一个断点:c
c为continue的缩写,在终端输入c之后,程序会从第一个断点一直运行到下一个断点:
如图,第一个断点停下之后在终端输入c,程序继续运行到第二个断点之后会再次停下。
- 退出pdb调试:q
q为quit的缩写,意思也就是退出:
可以看到,在终端输入q之后,前面的pdb消失了,pdb调试已退出。
更多
pdb调试学习来源
pdb更多命令
python的pdb调试相关推荐
- python之pdb调试
python之pdb调试 1. 引言 2. 三种调试 2.0 pdb调试常见命令 2.1 执行时调试 -- 单步调试 2.1.1 语法 2.1.2 实例 2.2 交互调试 2.3 程序里埋点 1. 引 ...
- python pdb_python pdb调试方法分享
复制代码 代码如下: import pdb def pdb_test(arg): for i in range(arg): print(i) return arg pdb.run("pdb_ ...
- Linux系统怎么打开pdb格式,linux环境下python的pdb调试方法
Svn Patch 中文乱码 关于Patch svn打patch的介绍:巧用svn create patch(打补丁)方案解决定制版需求 svn创建patch 1.在SVN的提交列表中,右键选择&qu ...
- pdb断点命令_python的pdb调试命令的命令整理及实例
python的pdb调试命令的命令整理及实例 一.命令整理 完整命令 简写命令 描述 args a 打印当前函数的参数 break b 设置断点 clear cl 清除断点 condition 无 设 ...
- 使用pdb调试python
python pdb调试 python -m pdb myscript.py #注意这会重启myscript.py,这样启动的话,代码每一行都是一个节点 也可以在程序中这么设置断点: import p ...
- linux可以生成pdb调试信息吗,Linux通过使用pdb简单调试python计划
python自带的调试工具库:pdb # -*- coding:utf-8 -*- def func(num): s = num * 10 return s if __name__ == '__mai ...
- python pdb 调试
命令行 Python -m pdb xxx.py l ----> list 显示当前代码 n ----> next 向下执行一行代码 c ----> continue 继续执行代码 ...
- 使用PDB调试Python程序的完整实践
从Java一路走来,习惯了使用IDEA来调试代码,平时写python也都是使用Jupyter notebook,但是现在逐渐转行到Python开发,突然在linux下进行python代码调试,就会显得 ...
- Python 调试工具 PDB(Linux 环境下调试)
转载:http://blog.163.com/gjx0619@126/blog/static/12740839320114995947700/ 在python中使用pdb模块可以进行调试 import ...
最新文章
- mac终端命令-----常规操作
- 轻量人脸检测,5个关键点
- OC中protocol、category和继承的区别
- spring cloud 学习之 服务注册和发现(Eureka)
- SQL语言之DQL语言学习(二)条件查询
- Vue中父组件调用子组件的方法
- 《C语言编程初学者指南》一1.9 本章小结
- .net framework与java,分布式事务:.NET Framework与.NET Core
- Windows编程—Windows驱动开发环境搭建
- 我是如何学会不再担心和喜欢SQL中的NULL的
- Event.ADDED_TO_STAGE的本质
- 摘抄和总结--确保搞砸人工智能项目的十种方法
- 阶段3 2.Spring_05.基于XML的IOC的案例1_3 测试基于XML的IOC案例
- spring boot mybatis 事务回滚
- google Play 应用被下架暂停
- 惯导平台稳定系统matlab仿真研究,惯导平台稳定系统MATLAB仿真研究
- BaseAdataer基本设配器
- 2022年济南12行政区高新技术企业补贴政策及认定条件汇总
- 如何删除mysql数据库的重复数据
- 计算机开始菜单打不开是什么原因,电脑开始菜单打不开怎么办_win7开始菜单点击无效解决方法...