[英]How to remotely live debug node.js app, while running on Azure App Service on Linux
我正在嘗試遠程調試 node.js 應用程序,同時它在 Linux 上的 Azure 應用服務上運行。 VSCode 的用於 Node.js的Azure 遠程調試對我不起作用,因此我嘗試通過使用 Azure CLI 的create-remote-connection命令打開的 SSH 會話進行遠程調試。
az webapp create-remote-connection –g [resource group] -n [app name] -p 9229
我的launch.json文件有
{
"type": "node",
"request": "attach",
"name": "Attach to remote",
"address": "127.0.0.1",
"port": 9229,
"localRoot": "${workspaceFolder}",
"remoteRoot": "/home/site/wwwroot",
}
接下來,我在我的機器上運行 SSH
ssh -L 9229:127.0.0.1:9229 root@127.0.0.1
但我不知道接下來要做什么。 在 Linux 上的 Azure 應用服務上運行時,如何遠程實時調試此應用?
使用az webapp remote-connection create命令打開與應用程序的遠程連接。
az webapp create-remote-connection –g [resource group] -n [app name]
命令輸出為您提供打開 SSH 會話所需的信息。
Verifying if app is running....
App is running. Trying to establish tunnel connection...
Opening tunnel on port: 49288
SSH is available { username: root, password: Docker! }
使用上面輸出中的端口啟動本地 SSH 隧道。
ssh -L 9221:127.0.0.1:9229 root@127.0.0.1 -p 49288
這將啟動一個 ssh 隧道會話,其中到本地計算機上端口 9221 的連接將轉發到應用服務中運行的遠程容器上的端口 9229。
通過身份驗證后,運行top
命令以獲取您的節點應用程序的 pid。 假設它是67
。 運行node inspect
。
node inspect -p 67
使用 launch.json 中的配置運行 VSCode
{
"type": "node",
"request": "attach",
"name": "Attach to remote",
"address": "127.0.0.1",
"port": 9221,
"localRoot": "${workspaceFolder}",
"remoteRoot": "/home/site/wwwroot",
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.