Débogage à partir de Visual Studio Code

Blockchain App Builder inclut la prise en charge du débogage ligne par ligne de Visual Studio Code pour les projets TypeScript et Go.

Sur Microsoft Windows, configurez Visual Studio Code pour qu'il utilise l'invite de commande comme terminal par défaut au lieu de PowerShell. Dans le menu de terminal de Visual Studio Code, cliquez sur Sélectionner un profil par défaut, puis sélectionnez Invite de commande.

Avant de pouvoir déboguer votre projet Go chaincode, vous devez installer les outils Go requis dans Visual Studio Code. Dans Visual Studio Code, ouvrez la palette de commandes, puis exécutez la commande Go: Install/Update Tools. Installez toutes les extensions Go répertoriées.

Visual Studio Code utilise Delve pour déboguer Go. Lorsque vous déboguez un code chaîne Go pour la première fois, vous êtes invité à installer Delve. Acceptez l'installation Delve avant de continuer. Visual Studio Code inclut un débogueur intégré pour TypeScript.

Pour exécuter le débogage ligne par ligne :
  1. Ouvrez votre projet de code chaîne dans Visual Studio Code Explorer. Dans le panneau Code chaîne, cliquez avec le bouton droit de la souris sur le code chaîne et sélectionnez Ouvrir dans l'explorateur.
  2. Attachez des points d'arrêt à votre code, si nécessaire.
  3. Accédez au menu Exécuter et cliquez sur Démarrer le débogage. Ceci attache le débogueur. L'attachement du débogueur au code chaîne peut prendre plusieurs secondes.
  4. Appelez n'importe quelle commande du terminal qui exécuterait votre code.

    Si vous avez utilisé l'interface Visual Studio Code pour tester votre code chaîne jusqu'à présent, vous pouvez suivre la syntaxe d'appel décrite dans Test de votre code chaîne sur un réseau Hyperledger Fabric local.

    Le débogueur s'arrêtera à vos points d'arrêt. Vous pouvez ensuite lancer le débogage.

  5. Redémarrez le débogage pour refléter les nouvelles modifications.

Comme le code chaîne est en cours d'exécution en mode débogage, le déploiement à chaud de nouvelles modifications ne se produit pas automatiquement. Vous devez redémarrer manuellement le processus de débogage, à l'aide des contrôles de débogage dans Visual Studio Code, afin que les dernières modifications prennent effet.

Dépannage

Sous Windows 11, une erreur semblable à la suivante peut se produire :
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
Il n'existe actuellement aucune solution à cette erreur.