我开始使用Node Inspector来调试我的一些Node应用程序。但是,有一件事我不知道该怎么做,一旦Node-inspector连接到一个Node应用程序,如何分离并将它连接到同一个盒子上运行的另一个Node应用程序?
我可以同时附加到多个进程吗?
答案 0 :(得分:16)
首先,使用不同的调试端口启动节点程序,如下所示:
$ node script1.js --debug==5858
$ node script2.js --debug==5859
然后开始node-inspector
$ node-inspector &
并使用
在两个选项卡中打开Web控制台http://localhost:8080/debug?port=5858
http://localhost:8080/debug?port=5859
答案 1 :(得分:0)
按端口或按进程ID。对于端口,请为每个进程使用不同的端口。在命令行上:
node --inspect 8085 some_script_1.js
node --inspect 8086 some_script_2.js
node --inspect 9012 some_script_3.js
在单独的终端窗口中,您可以使用node inspect <host>:<port>
附加到任何这些进程。例如,在端口some_script_2.js
上连接到8086
node inspect 127.0.0.1:8086
附加到不同的进程就是更改端口的问题,例如您将运行的9012
node inspect 127.0.0.1:9012
如果您没有在单独的已知端口上启动节点,则还可以使用-p
标志将其直接附加到现有进程上
node inspect -p <node_script_process_id>
在Linux和Mac OS上,使用ps -A | grep node
查找节点进程ID。进程启动后,您还可以通过将信号发送到节点进程SIGUSR1
Reference
node-inspect
程序(source)与核心节点是分开的。尽管它与nodejs捆绑在一起。节点检查重新实现节点调试以解决限制
对于Chrome检查器协议,只有一个:node --inspect ...该项目尝试通过针对新协议重新实现节点调试来提供缺少的第二个选项。
https://nodejs.org/en/docs/guides/debugging-getting-started/
您可以在Chrome中查看与调试器的交互。只需在专用NodeJS DevTools窗口的Connections
标签下添加其他连接即可。
值得一提的是,有一个类似的项目现已弃用,名为node-inspector
,它与node-inspect
分开,已于2018年10月在节点v10.11.0中进行了测试
答案 2 :(得分:0)
如https://stackoverflow.com/a/18911247/1301197所述,您可以使用以下命令指定端口
node --inspect=7000 --inspect-brk app1.js
当然,您只需为每个节点服务器指定一个不同的端口
node --inspect=7001 --inspect-brk app2.js
答案 3 :(得分:0)
如果您使用 Chrome ,则还可以直接将 devtools 与以下网址一起使用:
devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/0cc79945-8386-4082-aabb-328341bfc953
*其中9229/0cc79945-8386-4082-aabb-328341bfc953
-部分可以从节点的输出中获取
例如,使用以下命令运行第一个 app :
$ node --inspect-brk=7777 app.js
Debugger listening on ws://127.0.0.1:7777/2df21a01-44ff-40c4-b6ff-1f839f81f9d6
,因此结果 url 将是:
devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:7777/2df21a01-44ff-40c4-b6ff-1f839f81f9d6
然后使用以下内容的第二个 app 实例:
$ node --inspect-brk=7778 app.js
Debugger listening on ws://127.0.0.1:7778/d4e8d8ce-abe9-46c6-89b1-ad0616bdf237
带有 url :
devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:7778/d4e8d8ce-abe9-46c6-89b1-ad0616bdf237