Debugging von 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, um Go zu debuggen. Wenn Sie einen Go Chaincode zum ersten Mal 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.
- Öffnen Sie Ihr Chaincode-Projekt in Visual Studio Code Explorer. Klicken Sie im Bereich Chaincodes mit der rechten Maustaste auf Ihren Chaincode, und wählen Sie Im Explorer öffnen aus.
- Hängen Sie Breakpoints an Ihren Code an, wo immer dies erforderlich ist.
- 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 angehängt wird.
- 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 Chaincode in einem lokalen Hyperledger Fabric-Netzwerk testen beschrieben ist.
Der Debugger wird an Ihren Haltepunkten gestoppt. Sie können dann mit dem Debugging beginnen.
- Starten Sie das Debugging neu, um neue Änderungen anzuzeigen.
Da der Chaincode im Debug-Modus ausgeführt wird, erfolgt das Hot Deployment neuer Änderungen nicht automatisch. Sie müssen den Debugging-Prozess manuell mit den Debug-Steuerelementen in Visual Studio Code neu starten, damit die neuesten Änderungen wirksam werden.
Fehlerbehebung
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
Für diesen Fehler gibt es derzeit keine Problemumgehung.