【go】【vscode】

Nones發表於2024-08-05

@

目錄
    • 寫在前面
  • launch.json Go 的配置
  • 配置欄位說明
    • name:配置的描述性名稱。
    • type:指定偵錯程式型別,即 go 用於 Go 應用程式。
    • request:定義請求型別,任一 launch 啟動新的除錯會話,或者 attach 以附加到現有程序。
    • mode:執行 Go 程式的模式,可以是 auto、 debug、 test、 exec或 remote。
      • Launch Package (auto):
      • Launch Package (debug):
      • Run Tests (test):
      • Execute Binary (exec):
      • Attach to Remote (remote):
        • 在遠端計算機上安裝 Delve :
    • program:Go 程式的入口點。 ${workspaceFolder} 指當前工作區資料夾,以及 ${file} 指當前開啟的檔案。
    • env:要為程式設定的環境變數。
    • args:要傳遞給程式的命令列引數。
    • remotePath:連線到遠端除錯會話時原始碼的遠端路徑。
    • port 和 host:用於遠端除錯的要連線到的埠和主機。
  • 參考資料
    • 基礎/標準庫/第三方庫
    • golang 導航
    • 程式設計規範
    • 演算法|面試
    • 專案


寫在前面

  • 相關博文
  • 個人部落格首頁
  • 免責宣告:僅供學習交流使用!開源框架可能存在的風險和相關後果將完全由使用者自行承擔,本人不承擔任何法律責任。

launch.json Go 的配置

下面是一個示例 launch.json Go 專案的檔案:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package (auto)",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}",
            "env": {},
            "args": []
        },
        {
            "name": "Launch Package (debug)",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "program": "${workspaceFolder}",
            "env": {},
            "args": []
        },
        {
            "name": "Run Tests (test)",
            "type": "go",
            "request": "launch",
            "mode": "test",
            "program": "${workspaceFolder}",
            "env": {},
            "args": []
        },
        {
            "name": "Execute Binary (exec)",
            "type": "go",
            "request": "launch",
            "mode": "exec",
            "program": "${workspaceFolder}/myBinary",
            "env": {},
            "args": []
        },
        {
            "name": "Attach to Remote (remote)",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            "remotePath": "${workspaceFolder}",
            "port": 2345,
            "host": "127.0.0.1"
        }
    ]
}

配置欄位說明

name:配置的描述性名稱。

type:指定偵錯程式型別,即 go 用於 Go 應用程式。

request:定義請求型別,任一 launch 啟動新的除錯會話,或者 attach 以附加到現有程序。

mode:執行 Go 程式的模式,可以是 auto、 debug、 test、 exec或 remote。

Launch Package (auto):

  • 使用 auto 模式,以根據程式的上下文自動確定如何執行程式。

Launch Package (debug):

  • 顯式使用 debug 模式執行程式,啟用除錯功能。

Run Tests (test):

  • 使用 test 模式來執行和除錯 Go 測試用例。

Execute Binary (exec):

  • 使用 exec 模式來執行位於 ${workspaceFolder}/myBinary。

Attach to Remote (remote):

  • 使用 remote 模式連線到正在執行的 Go 程序進行遠端除錯,連線到監聽的程序 127.0.0.1:2345。

在遠端計算機上安裝 Delve :

  • 按照 Delve GitHub 儲存庫 中的安裝說明進行操作。
  • 在無外設模式下啟動 Delve :
  • 在遠端計算機上執行以下命令以啟動 Delve:
dlv debug --headless --listen=:2345 --log --api-version=2
  • 配置 VS Code 以連線到 Delve:使用 Attach to Remote (remote) 中的配置 launch.json,指定正確的 host 和 port Delve 正在傾聽的地方。

program:Go 程式的入口點。 ${workspaceFolder} 指當前工作區資料夾,以及 ${file} 指當前開啟的檔案。

env:要為程式設定的環境變數。

args:要傳遞給程式的命令列引數。

remotePath:連線到遠端除錯會話時原始碼的遠端路徑。

port 和 host:用於遠端除錯的要連線到的埠和主機。

__

參考資料

基礎/標準庫/第三方庫


  • 地鼠文件:比較多資料
  • topgoer
  • go awesome
  • golang 文件學習
  • golang 標準庫
  • go 檔案常用操作

golang 導航


  • golang 收集
  • go-guide
  • golang 導航
  • go-concurrency-guide
  • go-advice
  • golang 知識路線

程式設計規範


  • golang 程式設計規範
  • golang 規範示例

演算法|面試


  • cs 面試
  • 面試網站
  • Golang後端研發崗位相關面試題和簡歷
  • 路人張的面試筆記
  • golang 演算法

專案


  • golang 專案推薦
  • 7天系列
  • go專案推薦
  • go高效能程式設計

相關文章