将断点插入 javascript 文件

Insert break point into a javascript file

我想在下面引用的位置插入断点。假设下面的引用属于一个名为 "test.js" 的 js 文件。我想做的是当我在命令行上 运行 "node test.js" 时,它会在断点处中断,然后我可以检查断点处的所有可用变量。

var a = 4;

function changeA(input) {
  var input = 6
  [INSERT BREAK POINT HERE]
  console.log(input)
};

changeA(a);
console.log(a);

或者有其他方法可以将断点插入 javascript 文件吗?

您可以像这样硬编码断点:

debugger;

例如:

function changeA(input) {
  var input = 6
  debugger;
  console.log(input)
}

...但是您必须使用调试器才能使其具有任何含义,例如 node-inspector。如果您使用的是调试器,则可以通过调试器本身设置断点(而不是对其进行硬编码)。

这是一个通过 node-inspector 调试非常简单的 NodeJS 脚本的示例:

脚本:

var a = +process.argv[2];
var b = +process.argv[3];
var c = a + b;
console.log("c = " + c);

命令启动 node-inspector 并向我的脚本传递几个参数:

node-debug temp.js 10 20

浏览器弹出调试 UI,程序暂停。我在var b = ...行的UI设置了一个断点,然后单步通过它一次,所以我坐在var c = a + b;行(没有运行 还):

如果您不想使用内置调试器,可以尝试 Node Inspector,它允许您在浏览器中使用漂亮的 GUI 调试界面来调试您的应用程序。

您要查找的是语句 debugger;。你可以在任何你想要的地方插入它,如果你 运行 node debug test.js 节点将在你放置 debugger; 行的任何地方中断。

调试模式下的一些基本命令是:

  • c: 继续
  • n:下一步
  • s: 介入

您还可以在调试模式下通过以下命令手动设置一次断点:setBreakpoint(line).

希望对您有所帮助!

资源:NodeJS Debugger API