Visual Studio Codeからのデバッグ
ブロックチェーン・アプリケーション・ビルダーには、TypeScriptプロジェクトとGoプロジェクトの両方に対するVisual Studio Codeからの行単位のデバッグ・サポートが含まれています。
Microsoft Windowsでは、コマンド・プロンプトをPowerShellではなくデフォルトの端末として使用するようにVisual Studio Codeを構成します。Visual Studio Codeの端末メニューで、「デフォルト・プロファイルの選択」をクリックし、「コマンド・プロンプト」を選択します。
Goチェーンコード・プロジェクトをデバッグする前に、Visual Studio Codeで必要なGoツールをインストールする必要があります。Visual Studio Codeで、コマンド・パレットを開き、Go: Install/Update Tools
コマンドを実行します。リストに表示されているすべてのGo拡張機能をインストールします。
Visual Studio Codeでは、Delveを使用してGoをデバッグします。Goチェーンコードを初めてデバッグすると、Delveのインストールを求められます。続行する前にDelveインストールを受け入れます。Visual Studio Codeには、TypeScript用の組込みデバッガが含まれています。
- Visual Studio Codeエクスプローラでチェーンコード・プロジェクトを開きます。チェーンコード・ペインでチェーンコードを右クリックし、エクスプローラで開くを選択します。
- 必要に応じて、コードにブレークポイントをアタッチします。
- 「実行」メニューに移動し、「デバッグの開始」をクリックします。これによりデバッガがアタッチされます。デバッガがチェーンコードにアタッチするまでに数秒かかる場合があります。
- コードを実行するターミナルから任意のコマンドをコールします。
Visual Studio Codeインタフェースを使用してチェーンコードをテストしている場合は、「ローカルHyperledger Fabricネットワークでのチェーンコードのテスト」で概説されている呼出し構文に従います。
ブレークポイントでデバッガが停止します。その後、デバッグを開始できます。
- デバッグを再開して新しい変更を反映します。
チェーンコードはデバッグ・モードで実行されているため、新しい変更のホット・デプロイメントは自動的には行われません。最新の変更を有効にするには、Visual Studio Codeのデバッグ制御を使用して、デバッグ・プロセスを手動で再起動する必要があります。
トラブルシューティング
dlv: failed to install dlv(github.com/go-delve/delve/cmd/dlv@latest): Error: Command failed:
C:\Program Files (x86)\Go\bin\go.exe get -x github.com/go-delve/delve/cmd/dlv@latest
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/dlv/@v/list
# get https://proxy.golang.org/github.com/@v/list
# get https://proxy.golang.org/github.com/go-delve/@v/list
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/@v/list
# get https://proxy.golang.org/github.com/go-delve/delve/@v/list
# get https://proxy.golang.org/github.com/@v/list: 410 Gone (0.420s)
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/@v/list: 410 Gone (1.040s)
# get https://proxy.golang.org/github.com/go-delve/@v/list: 410 Gone (1.062s)
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/dlv/@v/list: 410 Gone (1.066s)
# get https://proxy.golang.org/github.com/go-delve/delve/@v/list: 200 OK (1.448s)
go: found github.com/go-delve/delve/cmd/dlv in github.com/go-delve/delve v1.8.3C:\Users\<UserName>\go\pkg\mod\github.com\go-delve\delve@v1.8.3\service\debugger\debugger.go:28:2:found packages native (proc.go) and
your_operating_system_and_architecture_combination_is_not_supported_by_delve(support_sentinel.go) in C:\Users\Asus\go\pkg\mod\github.com\go-delve\delve@v1.8.3\pkg\proc\native
この時点でこのエラーの回避策はありません。