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.
- 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.
- Anexe pontos de interrupção ao código sempre que necessário.
- 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.
- 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.
- 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
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.