如果你的节点正在运行
node --debug server.js
这给我一个端口号xxxx,我应该在启动Chrome时使用此端口号吗?
您是否从Google\ Chrome --remote-debugging-port=xxxx
进行远程调试?
或者9222是一个神奇的端口,因为它已被提及。
我是否在正确的轨道上,尝试使用--remote-debugger
启动Chrome进入Node.js server.js
答案 0 :(得分:16)
节点检查器/ --debug现在由检查器替换 请参阅下面的更新
#now deprecated / see below for update
#install node-inspector
npm install -g node-inspector
#start node-inspector, listen on port 8080 (default)
node-inspector --web-port=8080
#in another terminal session/window:
#while node-inspector is running, start your project in debug mode
node --debug myproject.js
现在,您可以浏览http://your_server:8080以获取myproject.js的完整调试会话
如果由于防火墙或其他原因而无法在远程端口上访问您的远程服务器,则可以从本地计算机上的端口8080创建一个ssh-tunnel到本地主机:8080'在远程服务器上:
ssh -L 8080:localhost:8080 username@remoteserver -N
并在本地计算机上使用http://localhost:8080调试远程nodejs会话时保持此运行
2017年8月更新
以检查模式启动节点:
node --inspect=0.0.0.0:9229 myproject.js
或者如果您希望调试器在myproject.js的第一行中断:
node --inspect-brk=0.0.0.0:9229 myproject.js
然后在Chrome浏览器中打开以下网址:
chrome://inspect
点击'配置...'按钮并添加以下目标:
ip-or-name-of-server-running-node:9229
点击“完成”后按钮,您应该在远程目标下看到myproject.js。单击inspect链接开始调试。不幸的是,检查链接在适用于Ubuntu的Chrome 58上不起作用。它适用于Chrome 60 for Windows。
答案 1 :(得分:9)
使用node-inspector
从您使用--debug
选项启动的Chrome远程调试节点应用程序。
答案 2 :(得分:5)
最新版本的Node(> v6.3.0)和Chrome现在允许您使用Chrome开发者工具debug a Node.JS process,而无需安装任何其他内容。只需将--inspect
传递给node
:
$ node --inspect script.js
Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
chrome-devtools://SOME-URL-HERE
只需在Chrome中打开该网址,即可开始使用。
如果您需要在Node启动后立即暂停脚本,您也可以在同一命令中传递--debug-brk
。
答案 3 :(得分:0)
使用 $ vagrant ssh - -L 5858:127.0.0.1:5858
to ssh connect to VM. also this comment would start a proxy server on port 5858;
您可以使用telnet 127.0.0.1 5858进行测试,以查看本地代理服务器是否已启动。
在VM中,您可以使用命令
$ node --debug-brk app.js
PS:没有必要触摸流浪文件。 参考:Connecting WebStorm to a remote node.js debugging session。