使用 PyCharm 调试 Python 代码

可视化调试

有些程序员还在使用 print 语句调试,因为概念难以理解而且 pdb 令人生畏。 PyCharm 的 python 调试 GUI 通过使进程可视化而让调试器变得轻松。 入门轻松,而且继续使用主要调试功能也很简单。

随处调试

PyCharm 当然可以调试您在本地计算机上运行的代码,无论是系统 Python,还是 virtualenv、Anaconda 或 Conda env。 PyCharm Professional Edition 还可以调试在 Docker 容器、VM 内运行的代码,或通过 SSH 调试远程主机上的代码。

在模板内调试仅限 Pro 版

如果使用模板,有时错误会潜入模板。 如果无法看到内部发生了什么,这些错误很难解决。 PyCharm 的调试器支持在 Django 和 Jinja2 模板内设置断点,使这些问题易于修复。

注:要调试模板,请先配置模板语言

JavaScript 仅限 Pro 版

任何现代 Web 项目都涉及 JavaScript,因此,任何现代 Python IDE 也都需要能够调试 JavaScript。 PyCharm Professional Edition 附带来自 WebStorm 的强大 JavaScript 调试器。 该 JavaScript 调试器支持浏览器内 JS 和 NodeJS。

在 TDD 期间调试

测试驱动型开发 (TDD) 涉及在编写测试时探索。 通过在正在调查的上下文设置断点,使用调试器来帮助探索.

在 TDD 期间调试

这种调查可以在测试代码中或在接受测试的代码中,对于 Django 集成测试很有帮助(只有 PyCharm Professional Edition 才支持 Django)。 使用断点查找测试用例的查询结果.

无需修改代码

PDB 是一个优秀的工具,但需要您修改代码,这会导致将 `pdb.set_trace()` 调用意外签入 git 报告。

查看代码的功能

断点

所有调试器都有断点,但只有一些调试器有高度通用的断点。 您是否曾多次点击“continue”,直到最终到达出现错误的循环迭代? 使用 PyCharm 的条件断点则无需这样。

有时您只想查看代码执行过程中某个变量的值。 您可以配置 PyCharm 的断点,使其不暂停代码,但只记录一条消息。

异常可能毁掉您的一天,因此 PyCharm 的调试器可以停在异常上,即使您并不完全清楚它们来自哪里。

为了帮助您控制调试过程,PyCharm 有一个概览窗口,您可以在其中查看所有断点,并通过取消选中复选框禁用一些。 您还可以临时暂停所有断点,直到需要它们为止。

一目了然地查看变量值

当 PyCharm 命中某个断点后,您可以立即在代码中以内联方式查看所有变量值。 为了便于查看自上次命中断点以来哪些值发生了变化,会突出显示变化的值。

监视

通过添加监视来自定义变量视图。 无论它们是简单还是复杂,您都能够准确地看到想看的内容。

控制代码

以可视化方式单步执行代码

如果您想知道代码的走向,无需到处设置断点。 您可以单步执行代码,准确跟踪内部情况。

运行自定义代码

在某些情况下,重现某件事的最简单方法是将变量强制为某个值。 PyCharm 同时提供了“evaluate expression”和控制台,前者可以快速更改内容,后者可以让您进行更多控制。 该控制台甚至还可以使用 ipython shell(如果安装)。

速度

快过 PDB

对于 Python 3.6 调试,PyCharm 的调试器比市面上的其他调试器更快。 甚至快过 PDB。 这意味着您可以在开发时始终在调试器下运行代码,并在需要时轻松添加断点。 当 PyCharm 询问是否安装 Cython 加速时,只需点击“install”即可。

选择您的版本

Professional

适用于科学和 Web Python 开发。 支持 HTML、JS 和 SQL。

Community

适用于纯 Python 开发