ローカルデバッグ — Go
注釈:本資料はAI技術を用いて翻訳されています。
このガイドでは、Go で記述された Extend アプリのデバッグに固有の内容をすべて説明します。 すべての Extend アプリと言語に共通する概念(環境変数、VS Code デバッグワークフロー、ログの読み方、よくある問題)については、 Extend ローカルデバッグガイドを参照してください。
前提条件
-
Go 1.24 以降 — 以下で確認します。
go version
# Expected: go version go1.24.x ... -
VS Code Go 拡張機能(
golang.go)— VS Code マーケットプレイスからインストールするか、リポジトリを開いたときに表示される推奨拡張機能のプロンプトを承諾してください。 -
Delve(Go デバッガー)— Go 用の VS Code 拡張機能が Delve を自動的にインストールします。以下で確認します。
dlv version -
AccelByte の認証情報 —
AB_BASE_URL、AB_CLIENT_ID、AB_CLIENT_SECRET。 メインガイドの環境のセットアップを参照してください。
VS Code の起動設定
リポジトリには、.vscode/launch.json にすぐに使える起動設定が同梱されています。
{
"name": "Debug: Service",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
"envFile": "${workspaceFolder}/.env",
"cwd": "${workspaceFolder}",
"console": "integratedTerminal"
}
手順:
.envを入力します(環境のセットアップを参照)。- Run and Debug パネルを開きます(
Ctrl+Shift+D/Cmd+Shift+D)。 - ドロップダウンから "Debug: Service" を選択します。
- F5 キーを押します。
Go 拡張機能は内部で Delve を使用します。個別に設定する必要はありません。
その他の IDE — Delve のヘッドレスモード
IDE が接続できるように、Delve をヘッドレスモードで起動します。
dlv debug --headless --listen=:2345 --api-version=2 .
その後、DAP(Debug Adapter Protocol)経由で localhost:2345 にアタッチするように IDE を設定します。
条件付きブレークポイントの構文
ブレークポイントを右クリック → Edit Breakpoint → Go の式を入力します。例:
req.UserId == "user_001"
デバッガーは条件が true の場合にのみ一時停止します。
jq を使ったログの読み取り
# Pretty-print everything
go run main.go 2>&1 | jq '.'
# Show only ERROR lines
go run main.go 2>&1 | jq 'select(.level == "ERROR")'
ログ形式とログレベルの概要については、メインガイドの ログの読み方と理解を参照してください。
Go 固有のトラブルシューティング
go run とデバッガーの起動設定の違い
go run main.go はデバッグ情報なしでコンパイルされます。ブレークポイントで実行を一時停止させたい場合は、
go run ではなく、常に(Delve を呼び出す)VS Code の起動設定を使用してください。
ポートの競合を確認する
ss -tlnp | grep -E '6565|8000|8080'
古いプロセスを終了させてから、再度起動してください。