如何用Visual Studio Code遠程調試運行在服務器上的nodejs應用

假設我有一個nodejs應用,運行在AWS - 亞馬遜雲平臺上(Amazone Web Service)。我想用本地的Visual Studio Code來遠程調試服務器端的nodejs應用。node

Visual Studio Code的調試配置裏定義了兩種類型,attach和launch。Visual Studio Code的官方文檔對這兩種調試啓動行爲的解釋:git

The best way to explain the difference between launch and attach is think of a launch configuration as a recipe for how to start your app in debug mode before VS Code attaches to it,github

Launch的意思簡而言之就是以debug模式啓動app。web

while an attachconfiguration is a recipe for how to connect VS Code's debugger to an app or process that's alreadyrunning.json

而Attach的含義是將Visual Studio Code的調試器綁定到一個已經處於運行狀態的應用。ubuntu

由於個人需求是用本地的Visual Studio Code去調試AWS上正在運行的nodejs應用,毫無疑問應該選Attach。 點擊debug configuration這個按鈕:服務器

自動彈出存放調試配置信息的launch.json文件了:app

把launch.json的內容替換成下面的內容:ssh

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "type": "node",
            "request": "attach",
            "name": "Jerry's first debug config",
            "address": "127.0.0.1",
            "port": 9221
        }
    ]
}

這個配置文件的含義是告訴Visual Studio Code的調試進程,去鏈接127.0.0.1:9221上的應用調試進程去調試。網站

固然,最後一步咱們還須要將本地的127.0.0.1:9221同AWS上的調試進程使用ssh作一個綁定。

ssh -i C:\Users\i042416.ssh\KOI.pem -L 9221:localhost:9229 ubuntu@amazonaws.com

一切就緒後,作一個操做觸發AWS上nodejs應用的執行。好比我在AWS上部署了一個nodejs應用,做爲我github repository的webhook。每當我在這個倉庫建立issue時,github網站就會推送一個事件到個人webhook上去。

如今我建立了一個名爲test create issue的issue,一旦我點了Close按鈕,

這個issue close事件會自動發送到個人AWS應用,下圖能夠看到斷點觸發了,這樣我就實現了使用本地的Visual Studio Code遠程調試AWS應用的目的。

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

相關文章
相關標籤/搜索