Debugging aus Visual Studio Code

Blockchain App Builder umfasst line-by-line-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 Eingabeaufforderung 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 zum Debuggen von Go. Wenn Sie zum ersten Mal einen Go Chaincode 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 bei Bedarf 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 wird.
  4. Rufen Sie einen beliebigen Befehl vom Terminal auf, der Ihren Code ausführen würde.

    Wenn Sie Ihren Chaincode bisher mit der Visual Studio Code-Schnittstelle getestet haben, können Sie die Aufrufsyntax befolgen, die unter Chaincode auf einem lokalen Hyperledger Fabric-Netzwerk testen 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 widerzuspiegeln.

Da der Chaincode im Debug-Modus ausgeführt wird, erfolgt das heiße 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 tritt möglicherweise ein Fehler wie der Folgende auf:
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.