Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-pagenavi domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/blog.zhujinhui.net/wp-includes/functions.php on line 6114

Notice: 函数 _load_textdomain_just_in_time 的调用方法不正确twentyseventeen 域的翻译加载触发过早。这通常表示插件或主题中的某些代码运行过早。翻译应在 init 操作或之后加载。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 6.7.0 版本添加的。) in /var/www/blog.zhujinhui.net/wp-includes/functions.php on line 6114
pycharm的debug功能原来这么好用 – 煅魂-JeffreyChu的修炼屋

pycharm的debug功能原来这么好用

大部分程序猿都知道,不管是开发新功能还是修复BUG,其实真正写代码的时间是非常少,因为大部分的时间都是消耗在了运行/测试也就是调试(debug)上了,所以掌握快捷高效的调试方法将会让你事半功倍。

PyCharm是由JetBrains公司开发的Python集成开发环境(IDE),凭借其强大的调试功能而广受欢迎。今天将详细介绍PyCharm的调试功能,非常简单又好用。

PyCharm调试功能简介

PyCharm提供了多种强大的调试工具,它让我们能够清楚了解代码每一步是怎么运行的,尤其是对新手或者对熟悉新项目的非常友好和有效。调试(debug)功能其中包含自定义命令断点设置调试控制变量监控表达式评估日志点条件断点

接下来以使用python http库请求百度首页的一个简单脚本来展示调试(debug)功能使用过程。

自定义命令

打开调试(debug)配置,点击“+”创建一个新的调试(debug),或者对一个已经存在的配置进行修改

这个面板支持以下重要的配置修改:

  • python环境版本
  • 脚本文件路径,每个调试都可以指定不同的脚本
  • 脚本参数
  • 脚本所运行目录
  • 运行脚本时的环境变量,这在本地调试非常方便,可以用于区别线上生产环境

修改完之后,点击应用(apply)和保存(save)来应用这些配置,当你点击调试(debug)时这些面板参数组成一个shell命令进行执行,类似于

python xxxx.py --abc -def 123

设置断点

首先,打开需要调试的Python文件。在代码编辑器中,单击行号旁边的空白区域以设置断点。断点将以红点的形式显示。

启动调试

由于刚刚上面已经面板参数中已经指定了具体的脚本了,所以点击调试(debug)按钮(一个绿色长得像虫子的按钮)就可以开始执行脚本调试了

还一种更快捷的方式启动调试,就是右键单击文件中的代码,然后选择调试文件(Debug ‘filename’)(或通过快捷键Shift + F9)。PyCharm将启动调试会话

使用调试控制选项

一旦程序暂停在断点处,此时PyCharm提供了以下调试控制选项(mac的键位可能有点不一样,以下是window的键位):

继续执行(F9):继续执行代码,直到遇到下一个断点或程序结束,在循环比较多的代码非常好用。
逐步执行(F8):逐行执行代码,并自动进入函数调用,这个在一些复杂的代码里非常好用。
逐步出入函数(Shift + F8):逐步进入或退出函数调用。
逐步进入(F7):逐行执行代码,并进入函数调用。

查看变量和表达式求值

在调试过程中,你可以查看“变量”窗口中的变量值。你还可以在”监视(Watches)“选项卡中添加自定义监视表达式。例子中我们可以清楚看到脚本里每个中间变量如“url”以及一些预测变量如”resp.read().decode(“utf-8”)“。


另外,你可以通过右键单击代码并选择”对表达式求值(Evaluate Expression)“来评估表达式。输入表达式并查看结果。

这个功能可以代替平常临时用print去打印一些脚本中间变量的用法,而且也不会产生忘记删除print留下无用日志之类的后遗症,让自己能更加清晰的看到一些中间变量的数据结构逻辑处理过程。

设置日志点和条件断点

在调试过程中,你可以通过右键单击断点并选择”编辑(Edit breakpoint)“来设置日志点和条件断点。输入条件表达式或日志消息,然后保存。比如下面这个设置了只有请求为200时才会触发断点,其他情况则会跳过不触发。

四、总结
PyCharm提供了全面而强大的调试工具,使得调试Python代码变得更加容易和高效。通过熟练掌握这些功能,你可以更快地找到代码中的问题并进行修复,提高开发和调试效率。你学会了吗?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注