python怎么一步步调试_PyCharm入门第一步(二)——调试第一个Python应用程序

 2023-09-23 阅读 22 评论 0

摘要:第2步:调试您的第一个Python应用程序 找出问题的根源 PyCharm报告运行时错误:a ZeroDivisionError。深入研究一下代码,找出问题所在。这里可以使用PyCharm调试器来查看代码中发生了什么。要开始调试,您必须先设置一些断点。要创建断点,只

29a0c31950f54d7680ef7a251c13e70e636917144577347929.png

第2步:调试您的第一个Python应用程序

找出问题的根源

Step2_1.png

PyCharm报告运行时错误:a ZeroDivisionError。深入研究一下代码,找出问题所在。这里可以使用PyCharm调试器来查看代码中发生了什么。要开始调试,您必须先设置一些断点。要创建断点,只需单击左侧gutter:

Step2_2.png

接下来,单击左侧gutter中的播放图标,在main旁边,然后选择Debug 'Car'。 PyCharm启动调试会话并显示调试工具窗口。

Step2_3.png

在Console选项中,输入S:

Step2_4.png

如您所见,断点标记变为蓝色。这意味着已经达到了断点; 请注意,此时尚未执行突出显示的代码行。

单击播放图标以恢复脚本执行。现在另一个断点也出现了:默认情况下,PyCharm将停止代码中未捕获的任何异常,并且它将显示带闪电的断点图标。

Step2_5.png

控制台还会显示错误消息。您还可以在调试器中看到该值self.time等于零:

Step2_6.png

Surrounding code

为避免再次遇到同样的问题,现在添加一个if语句来检查时间是否等于零。为此,在方法average_speed中选择语句return self.odometer / self.time,然后按Ctrl + Alt + T(Code | Surround with):

Step2_7.png

PyCharm创建一个stub if构造,让你完成填充正确内容的任务。编辑后,得到以下内容:

Step2_8.png

详细调试

“调试”工具窗口显示框架, 变量和监视的专用窗格以及控制台,其中显示所有输入和输出信息。如果希望控制台始终可见,可以将其拖动到PyCharm窗口的一个边缘。

Stepping

如果您希望逐行查看代码的作用,则无需在每一行上设置断点,您可以单步执行代码。看一下示例程序是什么样子:单击播放图标,转到控制台询问汽车的平均速度(类型'S'),可以看到达到断点。这时可以使用Stepping工具栏按钮选择想要在下一行停止的行。

Step2_8(1).png

例如,单击Step Over 按钮并看到蓝色标记移动到下一行代码:

Step2_9.png

如果单击Step Into按钮,您将看到action = input("What should I do? [A]ccelerate, [B]rake, " "show [O]dometer, or show average [S]peed?").upper() 调试器进入文件parse.py:

Step2_10.png

但是,如果继续使用Step Over 按钮,您将看到您的应用程序只是传递到下一个循环:

Step2_11.png

如果您想专注于自己的代码,请使用Step Into My Code按钮 - 这样您就可以避免进入库类。

Watching

PyCharm允许您观察任何变量。只需要单击Watches选项的工具栏中的+,然后输入你想要观看的变量的名称-将其设置为 my_car.time。请注意,此处可以使用代码完成:

Step2_12.png

首先,您看到时间等于nil - 这意味着该变量尚未定义:

Step2_13.png

但是,当程序执行继续到定义变量的作用域时,监视器将获得以下视图:

Step2_14.png

内联调试

您可能已经注意到另一个PyCharm功能,可以轻松查看代码正在执行的操作: 内联调试器。一旦你遇到任何断点,PyCharm就会在编辑器中向你显示许多变量的值:

Step2_15.png

默认情况下启用此内联调试功能。如果您没有看到内联调试值,请使用调试工具窗口中的设置图标检查它是否已启用::

Step2_16.png

评估表达式

最后,您可以随时评估任何表达式。

Step2_17.png

实际上,你可以用watch看到同样的东西。使用评估表达式,您可以执行使用watch无法执行的操作:您可以更改内容。例如,如果输入所需的里程表值50,然后继续单步执行脚本,您将获得以下信息:

Step2_18.png

概要

找出问题的根源

设置断点

逐步完成您的计划

创建一个 watch

评估一个表达

标签:PythonIDE

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

文章转载自:慧都

zan.png21

好文不易,鼓励一下吧!

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/87216.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息