调试工具窗口
最后修改时间:2023 年 10 月 16 日显示/隐藏:查看| 工具窗口 | 调试或Alt05
配置:设置| 构建、执行、部署 | 调试器
当您启动调试器会话时,将出现“调试”工具窗口。使用此窗口可以控制调试器会话、显示和分析程序数据(帧、变量等)以及执行各种调试器操作。
这是调试工具窗口的简要概述。有关使用工具窗口的一般说明,请参阅工具窗口。
提示
默认情况下,调试工具窗口在程序遇到断点时打开,并且在会话终止时不会隐藏。要更改此行为,请清除“构建、执行、部署”|上的“在断点上显示调试窗口”复选框。IDE 设置的 调试器页面。CtrlAlt0S
会议
可用的调试会话分为调试工具窗口顶部的选项卡。
如果为特定运行/调试配置启用“服务”窗口,则当您调试任何这些配置时,“调试”窗口的整个视图将显示在“服务”窗口内。
显示所选会话选项卡的所有信息,例如内联变量值和执行点。如果您并行运行多个使用相同 .
笔记
当您关闭选项卡时,相应的会话将终止。
调试工具栏
无论选择哪个选项卡,您始终可以使用窗口左侧的以下工具栏控件:
物品 | 工具提示和快捷方式 | 描述 |
---|---|---|
重新运行 CtrlF5 | 单击此按钮可停止当前应用程序并再次运行。 | |
简历计划 F9 | 当应用程序暂停时,单击此按钮可恢复程序执行。 | |
暂停程序 Ctrl+Pause | 单击此按钮可暂停程序执行。 | |
停止 CtrlF2 | 单击此按钮可通过标准 | |
查看断点 CtrlShiftF8 | 单击此按钮可打开“断点”对话框,您可以在其中配置断点行为。 | |
静音断点 | 使用此按钮切换断点状态。 当按下调试工具窗口工具栏中的按钮时,项目中的所有断点都会静音,并且它们的图标变为灰色:。 您可以暂时静音项目中的所有断点以执行程序,而无需在断点处停止。 | |
更多的 | 打开具有以下附加操作的菜单: | |
调试器设置 | 打开带有以下选项的菜单:
|
物品 | 工具提示和快捷方式 | 描述 |
---|---|---|
重新运行 CtrlF5 | 单击此按钮可停止当前应用程序并再次运行。 | |
简历计划 F9 | 当应用程序暂停时,单击此按钮可恢复程序执行。 | |
暂停程序 Ctrl+Pause | 单击此按钮可暂停程序执行。 | |
停止 CtrlF2 | 单击此按钮可通过标准 | |
查看断点 CtrlShiftF8 | 单击此按钮可打开“断点”对话框,您可以在其中配置断点行为。 | |
静音断点 | 使用此按钮切换断点状态。 当按下调试工具窗口工具栏中的按钮时,项目中的所有断点都会静音,并且它们的图标变为灰色:。 您可以暂时静音项目中的所有断点以执行程序,而无需在断点处停止。 | |
设置 | 单击此按钮可打开包含以下选项的菜单:
| |
Pin Tab | Click this button to pin or unpin the current tab. You may need to pin a tab to prevent it from closing automatically when the maximum number of tabs is reached in this window. |
步进工具栏
物品 | 工具提示和快捷方式 | 描述 |
---|---|---|
显示执行点 AltF10 | 单击此按钮可突出显示编辑器中的当前执行点,并在“帧”窗格中显示相应的堆栈帧。 | |
跨过 F8 | 单击此按钮执行程序,直到当前方法或文件中的下一行,跳过当前执行点引用的方法(如果有)。如果当前行是该方法中的最后一行,则执行将跳至该方法之后立即执行的行。 | |
强行跨过 AltShiftF8 | 单击此按钮可使调试器单步执行该方法,即使该方法内部有断点也是如此。 | |
步入 F7 | 单击此按钮可使调试器单步执行在当前执行点调用的方法。 | |
智能步入 ShiftF7 | 如果当前行包含多个嵌套调用,PyCharm 允许您选择要单步执行的调用。考虑以下代码行:
bar() ,然后执行baz() ,依此类推。如果您想选择应单步执行哪个调用,例如 , 当您选择要单步执行的函数时,调试器会将执行指针设置在所选函数的第一条语句处。 当您在包含多个方法调用的行中调用Step Into 时,您可以启用“智能单步执行”行为。为此,请在“构建、执行、部署”|上选择“始终执行智能单步执行”。调试器| IDE 设置的 步进页面。F7CtrlAlt0S | |
进入我的代码 AltShiftF7 | 单击此按钮可跳过进入库源代码并继续专注于您自己的代码。 | |
走出去 ShiftF8 | 单击此按钮可使调试器跳出当前方法,转到紧随其后执行的行。 | |
运行到光标处 AltF9 | 单击此按钮可恢复程序执行并暂停,直到执行点到达编辑器中当前插入符号位置的行。不需要断点。实际上,在插入符号处为当前行设置了一个临时断点,一旦程序执行暂停,该断点就会被删除。因此,如果插入符位于已经执行过的行,则程序将恢复以进一步执行,因为无法回滚到之前的断点。当您深入了解方法序列并需要立即退出多个方法时,此操作特别有用。 如果在到达指定行之前为应执行的行设置了断点,则调试器将在第一个遇到的断点处暂停。
| |
不停地运行到光标处 CtrlAltF9 | 如果当前执行点和目标语句之间存在断点,可以使用Run to Cursor Non-Stop 命令强制调试器跳过这些断点。CtrlAltF9 | |
评估表达 AltF8 | 单击此按钮可计算 表达式。 |
Item | Tooltip and Shortcut | Description |
---|---|---|
Show Execution Point AltF10 | Click this button to highlight the current execution point in the editor and show the corresponding stack frame in the Frames pane. | |
Step Over F8 | Click this button to execute the program until the next line in the current method or file, skipping the methods referenced at the current execution point (if any). If the current line is the last one in the method, execution steps to the line executed right after this method. | |
Step Into F7 | Click this button to have the debugger step into the method called at the current execution point. | |
Force Step Into AltShiftF7 | Click this button to have the debugger step into the method called in the current execution point even if this method is to be skipped. | |
Step Into My Code AltShiftF7 | Click this button to skip stepping into library sources and keep focused on your own code. | |
Step Out ShiftF8 | Click this button to have the debugger step out of the current method, to the line executed right after it. | |
Run to Cursor AltF9 | Click this button to resume program execution and pause until the execution point reaches the line at the current cursor location in the editor. No breakpoint is required. Actually, there is a temporary breakpoint set for the current line at the caret, which is removed once program execution is paused. Thus, if the caret is positioned at the line which has already been executed, the program will be just resumed for further execution, because there is no way to roll back to previous breakpoints. This action is especially useful when you have stepped deep into the methods sequence and need to step out of several methods at once. If there are breakpoints set for the lines that should be executed before bringing you to the specified line, the debugger will pause at the first encountered breakpoint.
| |
Evaluate Expression AltF8 | Click this button to evaluate expressions. |
感谢您的反馈意见!