簡體   English   中英

如何在 Linux 上的 Azure 應用服務上運行時遠程實時調試 node.js 應用

[英]How to remotely live debug node.js app, while running on Azure App Service on Linux

我正在嘗試遠程調試 node.js 應用程序,同時它在 Linux 上的 Azure 應用服務上運行。 VSCode 的用於 Node.jsAzure 遠程調試對我不起作用,因此我嘗試通過使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM