Depuração do Visual Studio Code

O Blockchain App Builder inclui suporte de depuração linha por 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 o 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.

Para poder depurar o seu projeto de código de cadeia Go, você deve instalar 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 do 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 integrado 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 seu 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 que o depurador seja anexado ao chaincode.
  4. Chame qualquer comando do Terminal que execute seu 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 Hyperledger Fabric.

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

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

Como o chaincode está sendo executado no modo de depuração, a implantação a 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 tenham efeito.

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.