Nodejs调试

概述

在最近写bug的过程中,需要跟踪代码的执行轨迹。早先的Node调试是通过debugger关键字和--debug参数实现断点调试的。
但是今天试了下,得到如下提示:

node: [DEP0062]: `node --debug` and `node --debug-brk` are invalid. Please use `node --inspect` and `node --inspect-brk` instead.

搜索了下相关的介绍,原来node官方已经改用chrome浏览器作为调试工具了。

操作流程

假设有一个脚本example.js:

var a = 1;
for(var i=0;i<10;i++){
    a+=1;
}
  1. 执行命令,开启调试
node --inspect-brk example.js

在执行后,会收到提示:

Debugger listening on ws://127.0.0.1:<port>/<random_id>
For help, see: https://nodejs.org/en/docs/inspector
  1. 打开Google Chrome浏览器,输入about:inspect 或者 chrome://inspect 调试页面
  2. Target标签,选择刚才执行的脚本所在行,点击inspect,打开调试窗口

剩下的操作就类似于Microsoft Visual Studio的操作了,直接点击要调试代码对应行的行号位置添加断点,在代码执行到该位置后,就会中断执行。
右上角则是常用的暂停、继续、跳入、跳出操作,下面有变量预览,还可以添加监视。

总结

整体感觉代码调试跟以前有质的飞跃,又回到了IDE的感觉。

参考链接

Node 调试工具入门教程-阮一峰