逐步执行程序
单步调试 是控制程序逐行执行的过程。
在 启动调试会话并 暂停程序后,WebStorm 会提供一组步进操作。 选择特定的步进操作取决于您的调试策略,例如,是否需要直接跳转到下一行,或 检查中间的方法调用。
步进按钮位于 调试 工具窗口 工具栏中。 您可以在 菜单中访问更多步进操作。

单步跳过
跳过当前代码行,即使该行包含方法调用,也会跳至下一行。 方法的内部实现将被跳过,您会直接跳转到调用该方法的下一行。
此示例中,第 22 行即将被执行。 如果使用单步跳过,调试器将直接跳转至第 23 行,而不会进入 print_chart() 方法。

如果在被跳过的方法中设置了断点,调试器将会在这些断点处停止。

如需跳过途中所有断点,请使用 强制单步跳过 Alt+Shift+F8。

单步进入
进入被调用函数的实现代码。
此示例中,第 22 行即将被执行。 如果使用单步进入,调试器将进入 print_chart() 方法的实现,允许您详细查看其返回值是如何产生的。

如果该行包含多个方法调用,WebStorm 会询问您要进入哪个方法。 此功能称为 智能步入。

默认情况下, 智能单步执行 会在您每次对包含多个方法调用的行调用 单步执行进入 F7 时自动使用。 您可以关闭自动 智能单步执行 ,并使用 单步执行进入 和 单步执行跳出 按钮按调用顺序逐个进入被调用方法。

某些脚本会被 单步执行进入 跳过,因为通常您不需要调试它们。
禁止进入脚本的调试操作
智能步入
当一行代码中有多个方法调用,并且您希望明确指定要进入的方法时, 智能步入 功能会非常有用。 此功能允许您选择感兴趣的方法调用。
使用 Tab 切换方法调用,并按 Enter 选择要进入的方法。

默认情况下,每次在包含多个方法调用的代码行上调用 步入 时,都会自动使用 智能单步执行。
如需禁止自动 智能单步执行 ,请打开 设置 对话框(Ctrl+Alt+S ),进入 ,然后取消选中 始终执行智能单步执行 复选框。
之后, 图标会出现在 调试 工具窗口的工具栏中。 点击此图标或按 Shift+F7 可手动调用 智能单步执行。

单步跳出
跳出当前方法,并返回其调用位置。
在该示例中,步出操作会跳过循环中的所有迭代,直接返回到方法调用处。

运行至光标
继续执行,直到光标所在位置。
将光标置于希望程序暂停的代码行,然后从
菜单中选择 运行到光标 ,或按 Alt+F9。

将鼠标悬停在希望运行至的那一行旁边的标记栏上,然后点击
。

在该示例中, 运行到光标 会继续执行,并在第 23 行处像遇到断点一样暂停。

如果 print_chart() 方法中设置了断点,程序会在该位置暂停。

如需跳过途中所有断点,请使用 强制运行至光标。
强制单步进入
即使此方法被常规 单步执行进入 跳过 ,也会进入其中。
按 Alt+Shift+F7。
点击工具栏中的
,然后从列表中选择 强制单步执行进入。

点击工具栏中的
。
如需将
添加到调试器工具栏,请右键点击工具栏,从上下文菜单中选择 添加到调试器工具栏 ,然后选择列表中的 强制单步执行进入。

前往 。
示例
在以下示例中,调试器会在第 4 行使用常规 单步执行进入 跳过库方法 console.log() ,但在第 10 行使用 强制单步执行进入 进入该方法。

强制运行至光标
继续执行 直到光标所在位置。 将忽略途中所有断点。
将光标置于希望程序暂停的代码行。
从
菜单中选择 强制运行到光标 ,或按 Ctrl+Alt+F9。
在该示例中, 强制运行到光标 会继续执行,并在第 24 行暂停,仿佛有一个断点。 print_chart() 中的断点不会生效。

强制单步跳过
跳过包含断点的方法调用所在行。 断点会被忽略。
在该示例中,即使 print_chart() 方法中设置了断点,强制步过也会带您直接跳转到第 22 行的打印语句,而不会因 单步执行越过 而在循环的每次迭代中暂停应用程序。
