Pycharm Debug调试技巧

  • Post author:
  • Post category:其他




Pycharm Debug调试

Python中的Bug是指程序在执行过程中出现错误的情况。这些错误可能会导致程序崩溃、输出意外的结果或者根本不运行。

常见的Python Bug包括:

  1. 语法错误:例如拼写错误、缺少冒号、使用了错误的缩进等等。
  2. 逻辑错误:程序可以运行,但是它并没有如预期那样工作。这通常是因为代码中的算法或逻辑有问题。
  3. 运行时错误:在程序运行时出现的错误,例如尝试访问不存在的变量、除以零、类型不匹配等等。

要解决这些Bug,可以使用pycharm调试工具来检查代码,并尝试添加断点和打印语句以查看变量的值。

接下来介绍PyCharm Debug调试

Pycharm Debug是一种强大的调试工具,可以帮助Python开发人员快速定位和修复代码中的错误。通过在代码中设置断点并控制程序的执行,使用者可以逐行查看程序的运行状态、变量值以及函数调用等信息,从而更好地理解代码的执行过程。



PyCharm Debug调试步骤:

  1. 在代码中设置断点:在您想要暂停执行的位置单击行号区域,或者右键单击并选择“Toggle Breakpoint”选项。
  2. 进入Debug模式,或者按下快捷键“Shift+F9”。
  3. 运行程序,在代码执行到您设置的断点处时会自动暂停。此时您可以使用调试工具栏上的各种功能:
  4. 调试完成后,单击调试面板上的“Terminate”按钮或工具栏上的“Stop”按钮来终止程序的执行。

演示代码:

def sum_num(x, y):
    z = x + y * 3
    return z

def divide_num(x, y):
    z = y / x
    return z

if __name__ == '__main__':
    result1 = sum_num(3, 5)
    result2 = divide_num(3, 5)
    result = result1 + result2
    print(result)



1.打断点

一个断点标记了一个代码行,当Pycharm运行到该行代码时会将程序暂时挂起。

注意断点会将对应的代码行标记为红色,取消断点的操作也很简单,在同样位置再次单击即可。 如图所示,打了2个断点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NXUUwD3z-1681608401359)(image-20230414160627062.png)]



2.Debug调试

进入调试的四种方式:

第一种:

通过鼠标右击代码处,可以来debug程序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4upn2r6l-1681608401369)(image-20230414182154558.png)]

第二种:

通过代码点击python主程序入口,然后点击Debug

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ywBGyqN-1681608401372)(image-20230414182352947.png)]

第三种:

通过右上角的Debug按钮

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N1g35vra-1681608401373)(image-20230414182922900.png)]

第四种:

通过在最下边的Debug中点击Debug按钮

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orkNCnFC-1681608401374)(image-20230414183244020.png)]


进入Debug调试后,Pycharm会执行以下动作:

(1)PyCharm开始运行py程序,并在第一个断点处暂停

(2)断点所在代码行变蓝,意味着Pycharm程序进程已经到达断点处,但尚未执行断点所标记的代码。

(3)Debug tool window窗口出现,显示当前重要调试信息,并允许用户对调试进程进行更改。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nyg2Ohy4-1681608401375)(image-20230414183459568.png)]



3.debug窗口图标分别代表的含义

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K5HHC6Ph-1681608401376)(image-20230414185114448.png)]


1.show execution point (F10)

显示当前所有的断点。


2.step over(F8)

逐语句执行

单步调试。点击它可以执行当前行并停在下一行代码上。若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行。


3.step into(F7)

单步调试,逐步进入。

这个图标可以让你进入函数内部,逐行执行其中的代码。


4.step into my code(Alt + Shift +F7)

执行下一行但忽略libraries(导入库的语句)。如果该函数是你自己编写的,那么你就可以通过逐步进入来深入了解函数的执行过程并进行调试。


5.step out(Shift+F8)

从当前函数或方法中退出并继续执行直到再次遇到断点;

当目前执行在子函数a中时,选择该调试操作可以直接跳出子函数a,而不用继续执行子函数a中的剩余代码。并返回上一层函数。


6.run to cursor(Alt +F9)

直接跳到下一个断点。



4.控制台窗口图标代表的含义

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HU8QcrvA-1681608401377)(image-20230414190315945.png)]

1.Rerun *(Ctrl+F5)

重新debug此程序。

2.Resume program (F9)

放过当前断点,直接跳到下一个断点,如果无下一个断点,则程序结束。

3.Pause program

暂停当前程序,方便调试

4.Stop(ctrl+F2)

停止Debug模式,关闭正在运行的程序

5.View Breakpoints

显示所有断点

6.Mute Breakpoints

让所有的断点失效


总之,Pycharm Debug是Python开发必备的调试工具之一,使用者应该学会如何使用它来简化自己的编程工作,以解决在python编程中遇到的一些问题。



版权声明:本文为qq_42076902原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。