文章目录

  • 前言
  • 一、debug是什么?
  • 二、使用步骤
  • 总结



前言

        如果你是一位小白,那么在学习代码的过程中,你可能会遇到各种棘手的问题,比如代码报错、数据不匹配等等。我也曾面临这些问题,常常在CSDN上寻找解决办法,但由于数据和代码的不同,很少能够找到有效的解决方案。不过,经过我几天的探索和研究,我总结了一些实用的技巧,可以帮助你轻松解决一些常见的问题。另外,如果你需要加入其他模块,可以先确保代码的版本和依赖库的兼容性。此外,在调试代码时,可以使用一些工具来帮助你快速定位问题,比如PyCharm、Jupyter Notebook等。这些工具可以帮助你更加高效地调试代码,让你在编写代码时少走弯路,更快地掌握技能。本文主要介绍一下pycharm中的debug功能,以及我在调试程序所使用的debug。

一、debug是什么?

在PyCharm中,debug是一种调试代码的方法,可以帮助开发者找到代码中的错误并修复它们。下面是使用PyCharm中的debug的方法:

  1. 在需要调试的代码行左侧单击,添加断点。断点可以帮助你在调试过程中暂停代码执行。当程序执行到断点时,会暂停在该位置,等待你进行调试。
  2. 在PyCharm工具栏中选择Debug按钮,或者按下快捷键Shift+F9,启动调试模式。
  3. 运行程序,当程序执行到断点时,会自动暂停。此时你可以使用PyCharm提供的调试工具进行调试,比如查看变量的值、单步执行代码、查看调用栈等等。
  4. 在调试过程中,如果发现代码中的错误,可以使用调试工具进行修复。如果需要修改代码,可以在调试过程中暂停程序执行,然后进行修改并保存。修改完成后,再继续调试即可。

使用debug调试代码可以帮助你更快地找到代码中的错误,并修复它们。同时,debug还可以帮助你深入了解代码的执行过程,从而更好地掌握代码的逻辑。

二、实际使用步骤

第一步、在需要调试的部分点击,打上断点

pycharm 深度学习模型怎么debug pycharm中debug使用_python

        在需要看到数据的部分,代码行处点击,打上断点。断点意味着代码将在改行的前一行进行暂停,同时可以显示前面所得到的数据维度。

第二步、右键选择调试程序,即一个虫子状的debug。

pycharm 深度学习模型怎么debug pycharm中debug使用_快捷键_02

此时可以看到,在程序中,蓝色的部分表示代码运行到此结束,此时的代码将运行到这个部分暂停。此时可以看到下面存在调试按钮,在变量部分就会得到上面运行结束所得到的每个参数的大小维度。

pycharm 深度学习模型怎么debug pycharm中debug使用_bug调试_03

如图所示,将得到一系列参数,都为前面代码运行后得到的结果。如果显示空白,表示代码运行不到这个断点就报错了,需要重新点断点。我们可以看到,其中img得到的维度,label的维度,self中存在着函数中的self.canshu的大小和维度。点开箭头可以看到其数据类型。

第三步、逐行调试

pycharm 深度学习模型怎么debug pycharm中debug使用_python_04

这个按钮是步过按钮,快捷键F8,就是单步执行代码,假如当前行存在函数,步过不会进入函数,逐行往下执行。

依次第二个为步入按钮,快捷键F7,如果当前代码行没有函数,则和步过相同,逐行执行代码,但是存在函数的话,就会进入函数里面开始逐行执行。

第三个为单步执行我的代码。这个和步过相同,但是步过不会进入函数内部执行,单步执行我的代码这个按钮会进入自己定义的函数内部执行,与步入按钮的区别是:步入进入自己定义的函数,也会进入导入的库中的函数,而单步执行我的代码这个按钮只会进入自己定义的函数内部执行,不会进入库中的函数。

第四个为步出按钮。跳出当前内部函数的执行操作。

第五个为运行到光标处,当鼠标光标点在此代码行的时候,点击此按钮,就可以将函数之间运行到该光标所在行,而不需要逐步点击执行操作。

在调试中,我经常用到的是第一个步过,其他并不是很常用。

pycharm 深度学习模型怎么debug pycharm中debug使用_快捷键_05

在debug调试过程中,在已经执行完的程序上鼠标放过去会显示改参数的大小,维度。

 

pycharm 深度学习模型怎么debug pycharm中debug使用_快捷键_06

这个窗口会显示当前代码执行到了什么地方,下一行是该调试的代码函数在哪一行被调用,属于上一层的函数。第三行同理。

pycharm 深度学习模型怎么debug pycharm中debug使用_bug调试_07

第一个按钮是继续执行代码,点击会继续执行代码到下一个断点,在循环中可以很快到下一次循环。

第二个是停止调试,即退出debug模式。

第三个为重新调试,即重新debug。

第四个可以看到当前所有的debug断点,可以选择是否需要该断点。

第五个可以对全部的断点进行激活。经常用的也只有第一个与第四个。

在调试代码的过程中,步过按钮和继续执行代码的按钮就可以得到每个模块的输入输出。注意要时时刻刻观察代码的逻辑。

 

 

 

总结

        以上就是我在调试代码所用到的debug方法,可能还有一些错误。希望可以帮助到大家。