CodeGym /课程 /Python SELF ZH /PyCharm Debug

PyCharm Debug

Python SELF ZH
第 18 级 , 课程 3
可用

9.1 启动调试器

我们会通过PyCharm学习调试过程,这很合情合理,也很舒心。 你马上就会体会到。

在PyCharm中,你可以用两种模式运行你的程序:

程序运行模式 面板图标 快捷键
普通执行 Shift+F10
调试模式运行 Shift+F9

你已经熟悉普通模式了:程序启动,运行然后结束。但调试模式会带给你不少惊喜。

调试模式

调试模式让你可以逐步执行你的程序。更准确地说是, 逐行:一行一行地。在此过程中,你可以在程序的每一步(每执行一行代码之后)查看变量的值。甚至还能改变它们的值!

要掌握调试的基本艺术,你需要了解三件事:

  • 断点
  • 逐步执行
  • 查看变量值

9.2 断点 (Break Points)

IDE允许你在代码中放置特殊标记——断点 (break point)。每当程序在调试模式下运行并到达标记为break point的行时,它就会暂停。

要在某一行设置break point,只需在PyCharm中点击那行的左边。举个例子:

结果,这行会被标记为断点(break point),而PyCharm会用红色标记整行:

在代码左边的面板上再次点击鼠标会移除已经设置的break point

你还可以使用快捷键组合Ctrl+F8在当前行直接设置break point。再次按下Ctrl+F8会移除已经存在的break point

9.3 在调试模式下运行程序(debug)

如果你的程序中有至少一个断点,你可以在调试模式下运行程序(Shift+F9或“虫子图标”)。

启动调试模式后,程序会照常运行。但只要它到达标记为break point的代码行,就会暂停。举个例子:

在截图的上半部分,你可以看到带有两个断点的程序代码。程序停在了第2行——用蓝线标记。第2行还未执行:控制台还没有输出任何东西。

在屏幕的下半部分,你可以看到调试模式面板:Thread & variables面板、Console面板(屏幕输出),以及一组调试模式的按钮。

你可以通过点击左下角面板上的Resume Program按钮(或按下F9键)来解除程序的暂停状态(继续执行)。

如果按下这个按钮(或F9),程序就会继续运行,直到遇到下一个断点或结束。按下这个按钮后你会看到:

程序停在第二个断点处,控制台输出"Hello""and",这表示三行输出代码中只有两行被执行。

9.4 逐步执行

如果你的程序在调试模式下运行,你还可以逐步执行它:一步一步来——一行一行。逐步执行有两个快捷键:F7和F8:每个键都会执行当前行的代码。但首先你需要用break point暂停你的程序。

如果你想逐行执行你的程序,你需要在程序一开始就设置break point——在第一行代码上——并在调试模式下启动它。

当程序暂停后,你可以开始逐行执行。 按下一次F8键——执行一行。

这是我们的程序在停止且按下一次F8后的样子:

第一行——print("Hello")——已经执行,当前行是第二行。 你也可以在截图的下方看到,屏幕上已经输出了"Hello"这个词。

9.5 逐步执行并进入函数

如果你的程序中有自定义函数,并且你希望在调试模式下不仅能逐步执行程序,还能进入你的函数,那么在“进入函数”时你需要按F7键,而不是F8。

比方说,你在逐步执行程序,现在停在第5行。如果你按F8键,PyCharm会直接执行第五行并跳转到第六行。

如果你按F7,PyCharm会逐步执行hello()函数内的代码:

很简单。如果你不太关心某个方法内部发生了什么,按F8;如果关心,按F7,逐步执行它的所有代码。

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION