Node.js WebStorm远程调试不起作用(没有SSH隧道)

问题描述 投票:0回答:1

我正在尝试在运行Node.js Web服务器(Express,TypeScript)的实时服务器上进行调试。

我用NODE_ENV=development node --inspect=9229 --inspect-brk build/start.js运行节点服务器,它说它正在等待和监听(Debugger listening on ws://127.0.0.1:9229/a61485f2-aef8-4719-901d-4d5ad9d1e6cd)。

我设置了SSH隧道(使用此方法:https://gist.github.com/pajtai/081e0371e7366c79c0b9),并设置了“附加到Node.js / Chrome”调试配置,其中主机为localhost,端口为9229。然后,当我按下debug按钮时,它通过SSH隧道连接,并且node.js进程运行得很好,可以在我的所有断点处停止和调试。

但是,当我不设置SSH隧道时,以相同的方式启动节点服务器,并设置一个“附加到Node.js / Chrome”配置文件,并将主机作为服务器的URL或IP WebStorm无法连接。底部的“ 5:调试”图标上方有一个红色气泡,指示其无法连接,有时它显示为“明确关闭”。我已经在服务器的防火墙设置中打开了端口9229(我尝试过TCP和UDP)。

我做错了什么?请帮助,任何人!

我正在使用Mac OS X 10.15.3和WebStorm 2019.3.1。

javascript node.js debugging webstorm remote-debugging
1个回答
0
投票

Node默认情况下绑定到本地主机,因此除非您设置端口转发(例如,通过ssh隧道),否则无法从外部访问它。您可以尝试将命令更改为node --inspect-brk=0.0.0.0:9229 build/start.js-有帮助吗?

请注意,Node.js不鼓励通过以下方式使用远程调试:https://nodejs.org/en/docs/guides/debugging-getting-started/#enabling-remote-debugging-scenarios。建议使用SSH隧道]

© www.soinside.com 2019 - 2024. All rights reserved.