【Python】pycharm调试:命令行交互式/变量观察watch等

时间:2024-03-24 07:42:24

1命令行交互式

1.1 功能

如何在交互shell中即时使用变量?

在程序运行停在断点处时,能够在命令行操作和使用程序中的变量。

类似matlab的命令窗口,或vscode中的DEBUG CONSOLE

可能相关的问题:

Backend Qt5Agg is interactive backend. Turning interactive mode on. 

 

1.2 办法

用于当前调试会话的内置python shell

  1. 在感兴趣代码线上设置一个断点(即通过单击装订线),然后启动调试(在编辑器中右键单击,然后选择调试myfile.py ...)。

  2. 当到达断点时,找到调试> “控制台”选项卡,然后单击“显示命令行”图标(请参见屏幕截图)。

这将启用python shell(请注意屏幕截图上的绿色>>>),您可以在其中访问当前作用域中的所有变量,并执行通常在Python shell中执行的所有操作。

In recent pycharm versions you get the full ipython interpreter instead of the plain python shell (if ipython is installed).

【Python】pycharm调试:命令行交互式/变量观察watch等

图示“show command line”在pycharm版本2018.3及之后都改为“show python prompt”了,效果相同。

 

2 查看表达式结果

2.1 方式1:打开评估表达式窗口,输入表达式

【Python】pycharm调试:命令行交互式/变量观察watch等

 

2.2方式2:选中表达式执行

或选中表达式后右键选择Execute Selection in Console

作为一个更方便的选择,如果只需要检查一些变量、访问成员或调用范围内的对象的方法,一旦到达断点,请在当前范围中选择一个表达式,right-click - >评估表达式(或使用RunEvaluate Expression...下的菜单中显示的热键),根据需要进行编辑 - 可以键入任何具有自动补全的可用python表达式,然后按Enter键(或者单击Evaluate)来检查结果。

支持多个和多行表达式:要获得Inspect对话框的多行版本,请单击Code fragment模式或在编辑器中选择多行代码,然后评估表达式。可以将值分配给现有变量(无法定义新变量),并运行整个代码块。

【Python】pycharm调试:命令行交互式/变量观察watch等

 

3 单个变量查看

3.1 鼠标悬停在变量上

要在调试模式下点击断点后查看变量的值,请将鼠标指针悬停在变量上(1-2秒),该变量的值将显示在工具提示中。

 

【Python】pycharm调试:命令行交互式/变量观察watch等

提示将包含一个图标 - 点击它将打开一个弹出式检查器。

 

【Python】pycharm调试:命令行交互式/变量观察watch等

对于范围内的变量,检查器显示在调试下的底部面板中

 

3.2打开watch窗口

变量窗口经常有很多变量,查找某变量不方便。这时可以打开watch窗口只观察关注的变量。

(1)打开watch窗口

最下面的Debug中点击Variables标签页,左栏有个眼镜标识,点一下就打开Watches窗口了。

或者在底部的各种窗口中,看见眼睛标识就点。^_^

一定记得console,variables,watches这几个窗口是可以拖来拖去的,根据个人喜好摆放。

(2)观察变量

Variables窗口中的变量可以右击,

依次:Add to Watches, View as array

然后在Watches窗口中可以看到所选数据的具体信息,包括数值。

【Python】pycharm调试:命令行交互式/变量观察watch等

(3)variables窗口和Watches窗口并列显示

在Debug窗口左侧点击Restore Layout,在Debug窗口的Degugger选项卡页会排布Frames,Variables,Watches,效果如下。

【Python】pycharm调试:命令行交互式/变量观察watch等

 

 

4其他

具体见参考文献