Go withVSCodeとDelveのデバッグ

デバッグで稼働中Gowith VS Code

MicrosoftのVSCodeは、私のお気に入りのコードエディターです。使ったトン過去20年間の編集者の数であり、これは群を抜いて最高です。

それはオープンソース、高速で、最近ではないMacBook Proでも、何かの途中でクラッシュすることはなく、ハッキング可能でありながら、箱から出してすぐにうまく機能します。

それはすべて素晴らしいですが、Goプログラムをどのようにデバッグしますか?そのためには重いIDEが必要だと思うかもしれませんが、そうではありません。とても簡単です掘り下げる、 作られたデレク・パーカー

もちろん最初にインストールする必要があります公式のGoVSCode拡張機能、および$ GOPATHが構成されていることを確認してください

これをインストールしたら、Linux / Winではコマンドを実行するだけです。Go: Install/Update Tools。 Macでは、Delveをダウンロードする必要があります醸造、入力してbrew install go-delve/delve/delveお気に入りのシェルで(zsh!)-ドキュメントでは自己署名について説明していますが、Brewがこれを処理します。

完了したら、デバッガー構成をセットアップします。

VSCodeをクリックしますデバッグメニュー「デバッグの開始」をクリックするか、を押しますF5

VS Codeは、デバッグ情報を.vscode/launch.jsonワークスペースのルートにあるファイル。これは自動生成され、ローカルデバッグ用にすぐに機能するはずです。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "remotePath": "",
            "port": 2345,
            "host": "127.0.0.1",
            "program": "${fileDirname}",
            "env": {},
            "args": [],
            "showLog": true
        }
    ]
}

ドキュメントによると、modeパラメータは次のように設定できます。

debug現在のプログラムをコンパイルしてデバッグするtestテストをデバッグするには(単一のテストをデバッグするには、-test.runとテスト名をargsとして渡します)execたとえば、プログラムで指定されたビルド済みのバイナリを実行します。"program":"${workspaceRoot}/mybin"remoteリモートでデバッグするには(リモートデバッグに関する公式ドキュメント

問題がありますか?ここにあるいくつかのよくある落とし穴

これが完了すると、Delveを実行する準備が整います。

Go Debugging with VS Code and Delve

これは、ローカルおよびグローバルのかなり標準的なデバッガーであることがわかります。変数検査、オプション特定の変数を監視するコールスタックの視覚化そしてブレークポイント

Goのデバッグとlib呼び出しへのステップインについて私が特に気に入っているのは、標準ライブラリが非常にクリーンで、十分に文書化されており、読みやすいことです。デバッグすることで、内部での動作についても多くのことを学ぶことができます。

ハッピーデバッグ!


その他のチュートリアル: