Debugging aus Visual Studio Code

Blockchain App Builder umfasst lineare Debug-Unterstützung von Visual Studio Code für TypeScript- und Go-Projekte.

Konfigurieren Sie unter Microsoft Windows Visual Studio Code so, dass die Eingabeaufforderung als Standardterminal anstelle von PowerShell verwendet wird. Klicken Sie im Terminalmenü in Visual Studio Code auf Standardprofil auswählen, und wählen Sie Befehlseingabeaufforderung aus.

Bevor Sie Ihr Go Chaincode-Projekt debuggen können, müssen Sie die erforderlichen Go-Tools in Visual Studio Code installieren. Öffnen Sie in Visual Studio Code die Befehlspalette, und führen Sie dann den Befehl Go: Install/Update Tools aus. Installieren Sie alle aufgeführten Go-Erweiterungen.

Visual Studio Code verwendet Delve, um Go zu debuggen. Wenn Sie zum ersten Mal einen Go-Kettencode debuggen, werden Sie aufgefordert, Delve zu installieren. Akzeptieren Sie die Delve-Installation, bevor Sie fortfahren. Visual Studio Code enthält einen integrierten Debugger für TypeScript.

So führen Sie das lineare Debugging aus:
  1. Öffnen Sie Ihr Chaincode-Projekt im Visual Studio Code Explorer. Klicken Sie im Bereich Chaincodes mit der rechten Maustaste auf Ihren Chaincode, und wählen Sie Im Explorer öffnen aus.
  2. Hängen Sie gegebenenfalls Haltepunkte an Ihren Code an.
  3. Gehen Sie zum Menü Ausführen, und klicken Sie auf Debugging starten. Dadurch wird der Debugger angehängt. Es kann einige Sekunden dauern, bis der Debugger an den Chaincode angeschlossen ist.
  4. Rufen Sie einen beliebigen Befehl aus dem Terminal auf, der Ihren Code ausführen würde.

    Wenn Sie den Chaincode bisher mit der Visual Studio Code-Schnittstelle getestet haben, können Sie die Aufrufsyntax befolgen, die unter Test Your Chaincode on a Local Hyperledger Fabric Network beschrieben ist.

    Der Debugger wird an Ihren Haltepunkten gestoppt. Anschließend können Sie das Debugging starten.

  5. Starten Sie das Debugging neu, um neue Änderungen zu berücksichtigen.

Da der Chaincode im Debug-Modus ausgeführt wird, erfolgt das Hot Deployment neuer Änderungen nicht automatisch. Sie müssen den Debugging-Prozess mit den Debug-Steuerelementen in Visual Studio Code manuell neu starten, damit die neuesten Änderungen wirksam werden.

Fehlerbehebung

Unter Windows 11 kann ein Fehler wie der Folgende auftreten:
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
Derzeit gibt es keine Problemumgehung für diesen Fehler.