让我们探索调试器的一个惊人特性:内置 REPL。 我们可以通过 repl 命令访问它:

调试> 回复

按 Ctrl + C 退出调试回复

这是一个标准的 REPL,包括您使用 repl 的上下文。 比如我们可以输出toAdd的参数:

> 添加

25

也可以向应用程序引入额外的状态,例如通过创建一个全局变量 b:

> b = 100100

这是标准的 Node REPL,您可以在其他地方使用的许多功能也可以在这里实现。

在任何情况下都使用 Ctrl-C 退出 REPL。 我们来试一下node全局变量,现在可以从调试提示中看到我们已经退出了REPL。

调试>

在REPL呆了一段时间node全局变量,好像忘记了呆的脉络。 您可以再次使用该列表来检查:

全局static变量_qt定义全局结构体变量_node全局变量

是的,我们刚刚停在第 8 行。如您所知,我们想要更改 A,以便为 a 分配值 100。对于变量 a 来说,这是一个多么漂亮的数字。 但是我们忘记了,这仍然处于调试模式。 没问题,我们可以使用setBreakpoint(缩写为sb)设置一个断点来保留当前场景。

全局static变量_qt定义全局结构体变量_node全局变量

请注意,现在第 8 行前面有一个星号 (*),表示我们已在该位置设置了断点。 修改代码中的当前函数并保存:

功能改变A(){

一 = 100;

}

返回调试器,重新运行应用程序:

qt定义全局结构体变量_全局static变量_node全局变量

程序重新启动,但设置的断点仍然完好无损。 我们的修改成功了吗? 看一看:

全局static变量_qt定义全局结构体变量_node全局变量

在程序代码中正确设置断点的另一种方法是使用 debugger 关键字:

功能改变A(){

调试器;

一 = 100;

}

如果我们再次重启程序,它会停留在调试器代码行。 我们可以使用clearBreakpoint(简称cb)来清除设置的断点。