我安装了node-inspector,结果发现它不支持断点 :| 考虑到大部分node代码是异步的,你根本无法一步一步地跟踪它,这个东西有什么用呢?
我肯定是错过了什么关键点...
有没有办法通过断点等方式调试node代码?
我安装了node-inspector,结果发现它不支持断点 :| 考虑到大部分node代码是异步的,你根本无法一步一步地跟踪它,这个东西有什么用呢?
我肯定是错过了什么关键点...
有没有办法通过断点等方式调试node代码?
是的,我已成功使用了node-inspector。如果您想要永久断点,请在代码中插入debugger;
即可。请参见http://nodejs.org/api/debugger.html。
使用node --inspect-brk script.js
(以前是node --debug-brk script.js
) 使node等待调试器附加也很有帮助。
--debug-brk
已被废弃,请使用 --inspect-brk
替代。 - Matt(适用于Node 8及更高版本)
Node.js内置了调试器。通常情况下,您可以通过以下两种方式打开调试器:
使用--inspect
或--inspect-brk
开关启动您的Node.js应用程序或脚本。例如:
$ node.js --inspect index.js
(注意: --inspect-brk
会在用户代码启动之前中断执行)
如果由于某些原因您无法使用--inspect
开关启动您的Node.js应用程序或脚本,则仍然可以通过向其发送SIGUSR1信号(在Linux和OS X上)来指示Node.js进程开始侦听调试消息。对于Node 8及更高版本,它将激活Inspector API,与--inspect开关相同
$ kill -sigusr1 23485
(注意: 您需要将23485替换为您自己的Node.js进程ID)
打开调试器后,您可以打开Google Chrome浏览器,并在地址栏中输入chrome://inspect
然后,您应该看到“远程目标”下列出的一个条目。继续并单击“检查”。
现在,您可以设置断点并开始调试代码。
参考:
node inspect
,如https://dev59.com/4Wgu5IYBdhLWcg3wDS-j#55429798所述,从版本`v10.15.1`开始。 - Ciro Santilli OurBigBook.comdebugger;
语句$ node inspect <file name>
运行文件c
,继续到下一个断点repl
在那个断点调试与变量相关联的值。有关更多信息,请查看官方指南。
v10.15.1
版本。 - Ciro Santilli OurBigBook.comsetBreakpoint
或 sb
来设置断点,例如 setBreakpoint('script.js', 1)
(https://nodejs.org/api/debugger.html)。 - Jean Paulnodemon
库吗?你可以在这里找到。"dev": "nodemon --inspect src/index.js"
它会在代码中达到debugger
语句时中断。要打开控制台以查看服务器代码,请在Chrome中打开控制台并单击nodejs图标:
它还可以帮助您在保存服务器上的任何文件时刷新服务器。这里稍作解释:
在想要设置断点的位置设置调试器,然后使用node debug script.js/index.js运行代码。
当调试器停在您的断点处时,您需要使用repl来检查变量。
watch('count')
的观察器 API,当调试器停在该函数时,观察器 API 将打印该值。 - Tarandeep Singh