这是我的调试配置:
{
"type": "node",
"request": "attach",
"name": "testServer",
"address": "test.server.ip",
"port": 5858,
"localRoot": "${workspaceRoot}/test/server",
"remoteRoot": "~/App/test/server"
}
我已使用以下命令
成功启动了调试模式下的远程应用程序node --debug app
然后我使用testServer配置启动VS Code调试器。它打印错误:
Debugging with legacy protocol because Node.js version could not be determined (Error: timeout)
我在macOS sierra上使用 VS Code版本1.16.1。
我猜它无法连接远程服务器,因为它是通过SSH保护的。但是我在VS Code调试器的配置中看不到任何与SSH相关的配置。
我已经浏览了一些articles和this之类的问题 和this,但没有帮助。
感谢您的帮助。
答案 0 :(得分:1)
您需要启动远程应用程序,并告诉节点使用以下命令远程公开端口:
node app --inspect=0.0.0.0:5858
答案 1 :(得分:0)
我在Windows上的工作方式如下:
使用主机名,远程服务器创建一个新的putty会话,然后转到"隧道"在SSH下拉列表中,然后按照它配置它:
在远程主机上运行节点调试并复制它给你的端口(对我来说9229)
然后像那样填写Putty:
您现在可以保存此会话,然后将其打开。 现在,每次打开此SSH会话时,端口9229上远程服务器上发生的一切都将重定向到本地9229端口。
在VSCode中,配置现在非常简单,因为它就像你在本地一样:
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 9229
},
希望有所帮助