【python】python进行debug操作

文章目录

  • 前言
  • 一、debug环境介绍
  • 二、debug按钮介绍
    • 2.1、step into:单步执行(遇到函数也是单步)
    • 2.2、step over:单步执行(遇到函数,全部运行)
    • 2.3、step into my code:(直接跳到下一个断点)
    • 2.4、step out : 执行完剩下的函数,并跳到上一层函数

前言

这也算是大学本科不好好学习,拉下的账了,今天终要补回来了。
本文用的测试代码:

from torchvision import transformsfrom torchvision.datasets import FashionMNISTimport osos.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"#数据集准备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.datatrain_data_y=train_data.targetstest_data_x=test_data.datatest_data_y=test_data.targetsprint(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
图片[1] - 【python】python进行debug操作 - MaxSSL
在debug前我们需要设置断点:(设置几个都行)
图片[2] - 【python】python进行debug操作 - MaxSSL
进入debug后,左下角:
图片[3] - 【python】python进行debug操作 - MaxSSL
1)debugger里面可以看到存在的变量:
图片[4] - 【python】python进行debug操作 - MaxSSL
2)console里面可以我们一步步调试的过程,输出的结果会打印在里面:
图片[5] - 【python】python进行debug操作 - MaxSSL

二、debug按钮介绍

图片[6] - 【python】python进行debug操作 - MaxSSL
分别是
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到)
图片[7] - 【python】python进行debug操作 - MaxSSL
图片[8] - 【python】python进行debug操作 - MaxSSL
图片[9] - 【python】python进行debug操作 - MaxSSL

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

图片[10] - 【python】python进行debug操作 - MaxSSL
step into 遇到进了函数也是单步(以我们这里定义的循环打印函数为例):
图片[11] - 【python】python进行debug操作 - MaxSSL
图片[12] - 【python】python进行debug操作 - MaxSSL

2.2、step over:单步执行(遇到函数,全部运行)

这个相比step over 就是函数里执行的区别:(step over 是直接执行完)
图片[13] - 【python】python进行debug操作 - MaxSSL

2.3、step into my code:(直接跳到下一个断点)

这个很好理解了,这里我有三个断点,所以会debug三次,然后结束:
图片[14] - 【python】python进行debug操作 - MaxSSL
图片[15] - 【python】python进行debug操作 - MaxSSL
图片[16] - 【python】python进行debug操作 - MaxSSL
图片[17] - 【python】python进行debug操作 - MaxSSL

2.4、step out : 执行完剩下的函数,并跳到上一层函数

就是之前在函数内部单步调试时,用step out 能一下执行完,返回到上一层函数
图片[18] - 【python】python进行debug操作 - MaxSSL

图片[19] - 【python】python进行debug操作 - MaxSSL
用了之后,整个函数直接执行完,但进程未结束
图片[20] - 【python】python进行debug操作 - MaxSSL
看蓝色的线,返回到了上一层函数
图片[21] - 【python】python进行debug操作 - MaxSSL

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享