Depuração do Visual Studio Code

O Blockchain App Builder inclui suporte de depuração linha a linha do Visual Studio Code para projetos TypeScript e Go.

No Microsoft Windows, configure o Visual Studio Code para usar o Prompt de Comando como terminal padrão, em vez de PowerShell. No menu do terminal do Visual Studio Code, clique em Selecionar Perfil Padrão e selecione Prompt de Comando.

Antes de depurar seu projeto de chaincode Go, instale as ferramentas Go necessárias no Visual Studio Code. No Visual Studio Code, abra a Paleta de Comandos e execute o comando Go: Install/Update Tools. Instale todas as extensões Go listadas.

O Visual Studio Code usa Delve para depurar Go. Ao depurar um chaincode Go pela primeira vez, você será solicitado a instalar o Delve. Aceite a instalação Delve antes de continuar. O Visual Studio Code inclui um depurador incorporado para TypeScript.

Para executar a depuração linha a linha:
  1. Abra seu projeto de chaincode no Visual Studio Code Explorer. No painel Chaincodes, clique com o botão direito do mouse em seu chaincode e selecione Abrir no Explorer.
  2. Anexe pontos de interrupção ao código sempre que necessário.
  3. Vá para o menu Executar e clique em Iniciar Depuração. Isso anexa o depurador. Pode levar alguns segundos para o depurador anexar ao chaincode.
  4. Chame qualquer comando do Terminal que executaria o código.

    Se você estiver usando a interface do Visual Studio Code para testar seu chaincode até o momento, poderá seguir a sintaxe de chamada descrita em Testar seu Chaincode em uma Rede Local do Hyperledger Fabric.

    O depurador parará nos seus pontos de interrupção. Em seguida, você pode iniciar a depuração.

  5. Reinicie a depuração para refletir as novas alterações.

Como o chaincode está sendo executado no modo de depuração, a implantação quente de novas alterações não acontece automaticamente. Você deve reiniciar manualmente o processo de depuração, usando os controles de depuração no Visual Studio Code, para que as alterações mais recentes entrem em vigor.

Solução de Problemas

No Windows 11, você pode encontrar um erro semelhante ao seguinte:
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
Não há solução alternativa para este erro no momento.