将断点插入javascript文件

时间:2016-04-13 13:59:25

标签: javascript breakpoints

我想在下面引用的位置插入断点。假设下面的引用属于名为“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文件中?

3 个答案:

答案 0 :(得分:2)

您正在寻找的是debugger;声明。您可以在任意位置插入,如果您运行node debug test.js节点将在您放置debugger;行的任何位置中断。

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

  • c:继续
  • n:第二步
  • s:单步进入

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

希望这有帮助!

资源:NodeJS Debugger API

答案 1 :(得分:1)

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

debugger;

E.g:

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;行(尚未运行):

enter image description here

答案 2 :(得分:0)

如果内置调试器不是您想要使用的东西,您可以尝试Node Inspector,它允许您使用浏览器内部的良好GUI调试界面调试您的应用程序。