Debug da Visual Studio Code

Blockchain App Builder include il supporto di debug riga per riga di Visual Studio Code per i progetti TypeScript e Go.

In Microsoft Windows, configurare Visual Studio Code in modo che utilizzi il prompt dei comandi come terminale predefinito anziché PowerShell. Nel menu del terminale in Visual Studio Code fare clic su Seleziona profilo predefinito, quindi selezionare Prompt dei comandi.

Prima di poter eseguire il debug del progetto Go chaincode, è necessario installare gli strumenti Go necessari in Visual Studio Code. In Visual Studio Code aprire la tavolozza dei comandi, quindi eseguire il comando Go: Install/Update Tools. Installare tutte le estensioni Go elencate.

Visual Studio Code utilizza Delve per eseguire il debug di Go. Quando si esegue il debug di un codice concatenato Go per la prima volta, verrà richiesto di installare Delve. Accettare l'installazione Delve prima di continuare. Visual Studio Code include un debugger integrato per TypeScript.

Per eseguire il debug riga per riga:
  1. Aprire il progetto di codice concatenato in Visual Studio Code Explorer. Nel riquadro Codici di catena, fare clic con il pulsante destro del mouse sul codice concatenato e selezionare Apri in Explorer.
  2. Collega i punti di interruzione al tuo codice dove necessario.
  3. Andare al menu Esegui e fare clic su Avvia debug. In questo modo viene allegato il debugger. Il collegamento del debugger al codice concatenato potrebbe richiedere alcuni secondi.
  4. Chiamare qualsiasi comando dal terminale che esegua il codice.

    Se finora si è utilizzato l'interfaccia di Visual Studio Code per eseguire il test del codice concatenato, è possibile seguire la sintassi di richiamo descritta in Test del codice concatenato su una rete Hyperledger Fabric locale.

    Il debugger si fermerà ai punti di interruzione. È quindi possibile avviare il debug.

  5. Riavviare il debug per riflettere le nuove modifiche.

Poiché il codice concatenato è in esecuzione in modalità debug, la distribuzione a caldo delle nuove modifiche non viene eseguita automaticamente. Per rendere effettive le modifiche più recenti, è necessario riavviare manualmente il processo di debug utilizzando i controlli di debug in Visual Studio Code.

Risoluzione dei problemi

In Windows 11 potrebbe verificarsi un errore simile al seguente:
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
Al momento non esiste una soluzione alternativa per questo errore.