鱼C论坛

 找回密码
 立即注册
查看: 3989|回复: 9

[技术交流] 来,VSCode调试Python技巧传授于你~

[复制链接]
发表于 2021-4-3 08:20:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 鱼C-小师妹 于 2021-4-13 18:59 编辑

在线视频:


忙着录制「师妹小讲堂」之余,回答一个后台很多人私信小师妹的问题:

求求师妹,救救孩子吧,想学 VSCode 调试技巧

好吧,既然你们诚心诚意的发问,我就大发慈悲地告诉你~

242900025f6dd8c5d390_cs_640x360.jpg

哈哈哈哈哈哈,中二到底吧:
既然你诚心诚意地发问了,我就大发慈悲地告诉你。
为了防止世界被破坏,为了维护世界的和平,贯彻爱与真实的罪恶,可爱又迷人的反派角色——武藏、小次郎我们是穿梭在银河中的火箭队。
白洞,白色的明天在等着我们,就是这样,喵

小师妹的童年回忆,看过的请扣 1~

言归正传,很多童鞋看过咱们字幕组翻译的这个视频:


就很期待用 VSCode 来做为 Python 的开发环境。

作为江湖人称宇宙第一的编译器,拿来作为 Python 开发环境真的很香!

废话不多说,开始~


基本调试

下载和安装 VSCode,去看上面的视频,言简意赅。

咱们直接进入主题吧。

打开你的 VSCode,写一个简单的 python 脚本:
2021-04-03_08-33-41.jpg

程序很简单,计算两数之和~

点击右上角绿色启动按钮,输出结果:
2021-04-03_09-11-27.jpg

如果安装了上面视频中推荐的 venv,还可以通过 ctrl+~ 快捷键启动终端,然后指令启动:
python 脚本名
这种方式看着 B 格更高一些些

如果你在开发中遇到问题,导致代码无法运行。

你就需要进行调试了。

有很多种方式,今天先看 VSCode 自带的调试功能。

鼠标移入第 6 行前面出现红点:
2021-04-03_09-22-59.jpg

再点击左侧启动调试按钮,点击“Run and Debug”:
2021-04-04_21-13-41.jpg

接着就要求在目录下创建一个配置文件,我们选择 Python 就好:
2021-04-04_21-18-10.jpg

然后程序运行到第 6 行这里就停下了:
2021-04-04_21-20-21.jpg

左侧这里用来观察变量值:
2021-04-04_21-24-40.jpg

有本地和全局两大类变量。

重点在上面这几个按钮:
2021-04-04_21-26-01.jpg

我们来依次好好说一下,第一个 Continue(继续):
2021-04-04_21-27-15.jpg

就是继续执行断点后的代码逻辑。

点一下看到往下执行,直接在终端输出结果。

我们再来调试一遍,程序还是在第 6 行停住,再来看变量这里:
2021-04-04_21-33-40.jpg

这些变量都是一些环境变量,每个程序都会有,先不用管。

为什么我们定义的 x,y,z 等变量还没有出来呢?

给你们 3 秒钟考虑下,好了,很简单。

因为程序到断点处就暂停了,根本没执行到~

就要用到第二个按钮咯:
2021-04-04_21-39-35.jpg

点它相当于执行下一,多点几下,看到 x 出现了:
2021-04-04_21-50-31.jpg

这种一步一步的调试,对于新手来说是极大的帮助。

跟踪程序执行过程中每个变量值的变化,从源头来消灭 bug。

除了这种按步调试,还可以选择终端中 DEBUG CONSOLE:
2021-04-04_21-55-42.jpg

然后在下面的输入框(下图箭头所指)输入变量名:
2021-04-04_21-57-41.jpg

此时 y 还没有被执行到,所以输入后说 y 还没有定义。

输入 x,显示值为 5。

还可以对 x “为所欲为”,执行各种运算操作~

程序越复杂,这种调试就越有必要。

继续点第二个按钮,会发现,突然就出现结果了:
2021-04-04_22-02-26.jpg

再点就结束了,calculate() 函数执行后一晃而过。

如果也想知道 calculate() 函数中的细节怎么办呢?

就要用到第 3 个按钮:
2021-04-04_22-08-55.jpg

当调试过程中用到其他函数,就可以用它来进入其中调试。

重启启动调试,当执行 calcuate() 就可以用这个“进入”按钮。

点一下,发现进入 calculate() 中了,哪怕这个函数没有断点:
2021-04-04_22-15-34.jpg

进入之后想跳出来怎么办?

点它边上的跳出按钮:
2021-04-04_22-17-10.jpg

点一下就从当前函数跳出,即从 calculate() 中跳出。

后面绿色的就是重新来一遍,不用从头开始了。

红色就是停止。

这些都是最基础的调试技巧,初学者掌握后,绝对让你学习起来如虎添翼。

总结:
游客,如果您要查看本帖隐藏内容请回复


以后有机会也会给大家讲更厉害的 pdb 调试!

如果呼声很高,安排日期会大大提前~

好了好了,去录「师妹小讲堂」咯。

你们自己好好把这几个调试功能 Get 到吧。

评分

参与人数 2荣誉 +10 鱼币 +5 贡献 +6 收起 理由
昨非 + 5 + 5 + 3
bool想学C + 5 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-3 08:55:02 | 显示全部楼层
沙发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-3 09:24:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-8 19:47:55 | 显示全部楼层
4#
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-12 08:24:50 | 显示全部楼层
学习学习,厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-12 08:51:55 From FishC Mobile | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-16 15:14:35 | 显示全部楼层
666666666666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-21 21:51:26 From FishC Mobile | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-21 21:51:59 From FishC Mobile | 显示全部楼层
111111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-21 18:21:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-10 17:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表