如何调试运行Chrome / WebKit作为远程调试器的Node.js服务器?

时间:2012-09-15 18:58:25

标签: node.js google-chrome webkit

如果你的节点正在运行

node --debug server.js

这给我一个端口号xxxx,我应该在启动Chrome时使用此端口号吗?

您是否从Google\ Chrome --remote-debugging-port=xxxx进行远程调试?

或者9222是一个神奇的端口,因为它已被提及。

我是否在正确的轨道上,尝试使用--remote-debugger启动Chrome进入Node.js server.js

4 个答案:

答案 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

  • 在网络风暴中设置调试配置。
  • 当您在Web风暴中启动调试时,VM中的node.js服务器将在几秒钟内启动。

PS:没有必要触摸流浪文件。 参考:Connecting WebStorm to a remote node.js debugging session