逐步执行程序
逐步调试是控制程序逐步执行的过程。
在您 启动调试会话并 暂停程序之后,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 行的打印语句,否则,如果使用了 步过 ,该断点会在循环的所有迭代中暂停应用程序。
