症状
まずはこちらを。
この画像のように、とある時点を境に左のデバッグタブで変数の値が表示されなくなりました。
関連 Issue も上がっていました。
Remote debugging to Docker container gives empty values for all variables #2601
動作環境
- macOS Mojave v10.14.2
- VSCode v1.35.1
- VSCode Go 拡張機能 (
ms-vscode.go
) v0.11.0 - go v1.12.1
また、プログラムは Google App Engine の Local Dev Server で稼働させていて、リモートデバッグをしているという形でした。
原因
探ったところ、どうやら原因は VSCode v1.35.1 及び 拡張機能 Go (ms-vscode.go
) v0.11.0 のようでした。
どちらか片方のバージョンを変えただけでは正常にデバッグが動作せず、両方ともバージョンを変更したところ正常に動作するようになりました。
VSCode をバージョン指定してインストールする
VSCode のバージョンを v1.35 から v1.34 に落とします。
公式サイトのここからダウンロードできます。
zip ファイルがダウンロードできるので、あとはいい感じにインストール。
拡張機能 Go をバージョン指定してインストールする
拡張機能 Go のバージョンを v0.11.0 から v0.10.2 に落とします。
こんな感じで。
拡張機能が自動でアップデートされないようにする
Command
+ ,
で設定ファイルを開き、ユーザー設定の Extensions: Auto Update
のチェックを外して無効にします。
結果
変数の中身をデバッガで覗けるようになりました。今後の fix に期待ですが、とりあえずはめでたしめでたし。