笔记源于对PyCharm官方调试教程的学习实践,仅包含实用且常用的关键功能,调试步骤可参见【帅的】PyCharm编程基础实用笔记最后一部分。笔记内容包括断点设置、调试功能和单步调试三个部分的功能介绍。
断点设置
断点源代码的一种标记,可使程序在特定的点暂停,检查程序运行情况。基本分类与操作如下:
- 行断点:代码运行到此行之前暂停
设置:直接在代码行前鼠标单击
删除:单击断点
![v2-7e9c99f211d36f6374af265d5e406730_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=459ee467-2030-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-7e9c99f211d36f6374af265d5e406730_b.jpg)
- 异常断点:抛出指定异常时会触发异常断点
设置:点击Run -> View Breakpoint,点击“+”按钮,选择异常断点类型,选择具体异常
删除:点击Run -> View Breakpoint,选择要删除的异常断点,点击“-”按钮
- 其他设置
-右击断点可做进一步设置,如加入附加条件等
-按住Ctrl,拖动断点,复制出另一个断点
-按住Alt,点击断点,可按时停止该断点作用
-点击Run -> View Breakpoint,给断点加名称,可进行快速检索
-断点分组……
调试模块
- 在调试开始时,可通过点击Debug模块左侧边栏控制调试进程,由上到下的三个按键依次是恢复、暂停、停止
![v2-664d9729350b9ab9103e3da0e0178d57_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=459ee467-2030-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-664d9729350b9ab9103e3da0e0178d57_b.jpg)
- Debug模块中Frame窗格显示了正在运行的函数调用,存储了函数的局部变量和参数
![v2-b40be8b7bb89500eaf3f9fec83e986fc_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=459ee467-2030-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-b40be8b7bb89500eaf3f9fec83e986fc_b.jpg)
- Debug模块中Watches窗格可同时查看多个变量和表达式
-点击Variable窗格边栏形似眼镜的按钮即可打开Watches窗格
-点击Variable窗格中的“+”按钮,即可添加Watches中的变量和表示式
-通过鼠标右键目录,可以编辑或者删除Watches中的变量和表达式
-右键菜单,可同时检查多个Watch窗格的变量和表达式
![v2-36631a876d8e052bf33e96be29cc75d5_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=459ee467-2030-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-36631a876d8e052bf33e96be29cc75d5_b.jpg)
- 查看表达式的值
-点击Setting -> Build,Execution,Deployment -> Debugger -> Data View,勾选Show value tooltip,选中编辑器中表达式,即可查看表达式子的值
![v2-1b9aa33568bde8c092f5b00c9a9e634f_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=459ee467-2030-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-1b9aa33568bde8c092f5b00c9a9e634f_b.jpg)
-选中任意表达式,点击形似计算器的按键或者键入Alt+F8,即可在专用对话框中查看表达式;在对话框中点击右侧双向箭头,可扩大输入框,输入一个多行表达式
![v2-e0c83178b610b84a40e2c6fbc652aa79_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=459ee467-2030-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-e0c83178b610b84a40e2c6fbc652aa79_b.jpg)
- 点击Run -> Show Execution Point,或者点击Debug模块中Console旁边的三明治按键回到当前执行点
![v2-6204cba0dfe84c16b182b4df23c63714_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=459ee467-2030-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-6204cba0dfe84c16b182b4df23c63714_b.jpg)
- 在Variable窗格中选择变量,右键菜单中选择“Jump to source”,可跳转到变量或字段的声明位置;选择“Jump to type source”,可跳转到所选变量或字段的类的定义
单步调试
- 在Debug模块上边栏带箭头的按钮中,依次是Step over、Step into、Step into My Code、Force step into、Step out、Run to cursor。
![v2-6c08c6d8f4a4b30e91843ffffe861f48_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=459ee467-2030-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-6c08c6d8f4a4b30e91843ffffe861f48_b.jpg)
-Step over:运行程序至当前代码行的下一行,如果当前行调用中包含断点,程序将停止在当前代码行。
-Step into:深入到当前代码行的调用中
-Step into My Code:只深入到自己编写的代码
-Force step into:强制深入当前代码行的调用中
-Step out:Step into的逆过程
-Run to cursor:运行到光标所在的行
- Inline value view:如果启用此选项,则在启动调试会话并逐步执行程序时,变量的值将显示在使用这些变量的行的末尾。默认开启,点击Debug左侧边栏设置钮设置
![v2-9b4252b84ae2279d13ab51694df9635d_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=459ee467-2030-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-9b4252b84ae2279d13ab51694df9635d_b.jpg)
- Viewing as Array or DataFrame:在Variable面板中,右击Numpy数组参数
结语
如果想要尝试以上各种调试功能,可采用官方教程里的调试代码,或者直接应用到自己的代码中。总之,实践出真知!