飞鱼泡泡 发表于 2023-3-16 15:05:02

Python初学者必备技能,使用Python进行debug

哈喽兄弟们,今天来分享一下,Python初学者必须要学会的技能,Python进行debug操作。
本文用的测试代码:
from torchvision import transforms
from torchvision.datasets import FashionMNIST
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
# 对于刚学Python的小伙伴,我给大家准备了2023最新的Python学习资料
# 我都打包好放在这个q裙了 708525271
# 直接加它领取

#数据集准备
train_data = FashionMNIST(
    root = "./data/FashionMNIST",
    train = True,
    transform = transforms.ToTensor(),
    download = True #如果没下载数据,就下载数据;如果已经下载好,就换为False
)
test_data = FashionMNIST(
    root = "./data/FashionMNIST",
    train = False,
    transform = transforms.ToTensor(),
    download = True #如果没下载数据,就下载数据;如果已经下载好,就换为False
)

train_data_x=train_data.data
train_data_y=train_data.targets
test_data_x=test_data.data
test_data_y=test_data.targets

print(train_data_x.shape)
print(train_data_y.shape)
print(type(train_data_x))
print(type(train_data_y))
print(test_data_x.shape)
print(test_data_y.shape)

def function1(x):
    for i in range(x):
      print(i)
function1(7) 
一、debug环境介绍

点击这个爬虫就可开始debug
https://img-blog.csdnimg.cn/234fecf1499c419c8c7a3c0dcd277d49.png
在debug前我们需要设置断点:(设置几个都行)
https://img-blog.csdnimg.cn/10d9e3eba86d4f3285904aae82b45ff7.png
进入debug后,左下角:
https://img-blog.csdnimg.cn/617e1d097a304ec1aef3fa8a9f7d98f2.png
1)debugger里面可以看到存在的变量:
https://img-blog.csdnimg.cn/60b730c05d274e1984ad29aa062317f3.png
2)console里面可以我们一步步调试的过程,输出的结果会打印在里面:
https://img-blog.csdnimg.cn/396b43b0f8d1496ca61232741f8203af.png
二、debug按钮介绍


 
 
https://img-blog.csdnimg.cn/71500934ffe842c2a7e0cace06a683f5.png
分别是
1)step over 快捷键:F8
2)step into 快捷键:F7
3)step into my code 快捷键: alt+shift+F7
4) step out 快捷键: shift+F8
2.1、step into:单步执行(遇到函数也是单步)
注意看蓝色的线变化(蓝色的线,代表即将被debug,但是还没有debug到)

 
 

 
 

 
 刚我debug了两次,结果如下:

 
 
https://img-blog.csdnimg.cn/b42424f5197542bfbc48bafcc759bc40.png
step into 遇到进了函数也是单步(以我们这里定义的循环打印函数为例):

 
 
 
 
https://img-blog.csdnimg.cn/9d6defaaa64949c0a8e37c7fc97dd60e.png
https://img-blog.csdnimg.cn/a428e8f1c4974fe49f61a530aef9418d.png
2.2、step over:单步执行(遇到函数,全部运行)
这个相比step over 就是函数里执行的区别:(step over 是直接执行完)

 
 
https://img-blog.csdnimg.cn/3854986f1a944c4289afcc1338f1415c.png
2.3、step into my code:(直接跳到下一个断点)
这个很好理解了,这里我有三个断点,所以会debug三次,然后结束:

 
 

 
 

 
 

 
2.4、step out : 执行完剩下的函数,并跳到上一层函数
就是之前在函数内部单步调试时,用step out 能一下执行完,返回到上一层函数。

 
 

 
 用了之后,整个函数直接执行完,但进程未结束。

 
 
https://img-blog.csdnimg.cn/c3e93c19c628458699dd7e0f8861c211.png
看蓝色的线,返回到了上一层函数
   
 

来源:https://www.cnblogs.com/hahaa/p/17222692.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Python初学者必备技能,使用Python进行debug