Node.js内置调试方法总结
在Node.js中,我们可以使用内置的调试方法来方便地调试我们的代码。本文将介绍Node.js内置的调试方法,包括使用debugger
语句、在命令行中使用node inspect
命令、以及使用Chrome开发者工具进行调试。
使用debugger语句进行调试
在Node.js中,我们可以使用debugger
语句来暂停代码的执行,方便查看变量值、调用栈等信息。在需要调试的代码行前添加一个debugger
语句,然后使用node
命令执行程序,在终端中按下c
键即可继续执行代码,到达debugger
语句时会自动暂停。
下面是一个简单的示例:
function foo() {
var a = 1;
var b = 2;
debugger; // 添加debugger语句
var c = a + b;
console.log(c);
}
foo();
执行程序后,在终端中按下c
键,代码会执行到debugger
语句处暂停。我们可以在终端中输入repl
命令,然后查看变量a
、b
、c
的值,如下所示:
> repl
Press Ctrl + C to leave debug repl
> a
1
> b
2
> c
3
使用debugger
语句的缺点是需要手动添加语句,并且只能在本地调试,无法远程调试。
使用node inspect命令进行调试
Node.js提供了node inspect
命令,可以在命令行中启动一个调试会话。在终端中执行以下命令即可进入调试模式:
node inspect index.js
其中index.js
为要调试的文件名。执行该命令后,Node.js会启动一个调试会话,并输出调试端口号,如下所示:
Debugger listening on ws://127.0.0.1:9229/2c808e8a-be9a-42c1-a004-d37beb52dbb9
For help, see: https://nodejs.org/en/docs/inspector
我们可以使用Chrome浏览器访问chrome://inspect
,然后点击Open dedicated DevTools for Node
按钮,打开Chrome的开发者工具。在开发者工具的Sources
面板中,就可以像调试前端代码一样调试Node.js代码了。
下面是一个使用node inspect
命令进行调试的示例:
function foo() {
var a = 1;
var b = 2;
var c = a + b;
console.log(c);
}
foo();
执行以下命令即可进入调试模式:
node inspect index.js
然后按下c
键继续执行程序,代码会在foo()
函数处暂停。我们可以在开发者工具的Sources
面板中打开index.js
文件,并查看变量a
、b
、c
的值。点击蓝色箭头即可继续执行代码。
使用node inspect
命令的优点是不需要手动添加debugger
语句,并且可以远程调试,缺点是需要打开Chrome浏览器进行调试。
使用Chrome开发者工具进行调试
除了使用node inspect
命令外,我们也可以直接使用Chrome开发者工具进行调试。在命令行中执行以下命令即可开启远程调试:
node --inspect index.js
其中index.js
为要调试的文件名。执行该命令后,Node.js会输出一个调试URL,如下所示:
Debugger listening on ws://127.0.0.1:9229/2c808e8a-be9a-42c1-a004-d37beb52dbb9
For help, see: https://nodejs.org/en/docs/inspector
我们可以在Chrome浏览器中打开该URL,进入开发者工具进行调试。
下面是一个使用Chrome开发者工具进行调试的示例:
function foo() {
var a = 1;
var b = 2;
var c = a + b;
console.log(c);
}
foo();
执行以下命令即可开启远程调试:
node --inspect index.js
然后在Chrome浏览器中打开调试URL,进入开发者工具的Sources
面板,即可开始调试代码了。
使用Chrome开发者工具进行调试的优点是可以直接在Chrome浏览器中进行调试,缺点是需要打开Node.js代码所在的URL。另外需要注意的是,使用Chrome开发者工具进行调试时,不支持--debug
和--debug-brk
等命令行选项。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node内置调试方法总结 - Python技术站