1. 代码中写debug
  2. js运行时遇到debug允许暂停,并向外部发送一条通知,此时调试客户端和js运行时会双向通信,执行continue、step into、step over等流程

调试分为调试客户端 和 JS运行时,可以简单理解为CS架构
node --inspect test.js执行js脚本的时候
在chrome中打开chrome://inspectremote target打开即可调试
此时,本机的node是server, chrome是client

假设项目是一个React网站,使用vscode开发
最简单的调试方案是,在React代码中添加debug; 此时chrome同时担任server和client
另外一种方案是启动一个chrome,指定参数–remote-debugging-pipe(由vscode自动完成),配合dev模式下的source map,即可以在vscode上断点调试,此时chrome担任server,vscode担任client

参考

解密 VS Code 断点调试的原理