Partilhar via


Depurar uma aplicação de alto nível

  1. Certifique-se de que o dispositivo está ligado ao PC por USB. No menu Definir item de arranque , selecione Aplicação do Azure Sphere (HLCore), em que Aplicação do Azure Sphere é o nome da sua aplicação de alto nível atual ou prima F5.

    Botão Depurador de GDB Remoto

  2. Se lhe for pedido para criar o projeto, selecione Sim. O Visual Studio compila a aplicação, cria um pacote de imagem, faz o sideload para o quadro e inicia-o no modo de depuração. O sideload significa que a aplicação é fornecida diretamente a partir do PC através de uma ligação com fios, em vez de ser fornecida através da cloud.

    Tenha em atenção o ID da imagem do pacote de imagem na saída Ver>Apresentação deSaída> de: Resultado da compilação. Irá utilizar o ID da imagem mais tarde no Tutorial: Criar uma implementação na cloud.

  3. Por predefinição , a janela Saída mostra o resultado da Saída do Dispositivo. Para ver mensagens do depurador, selecione Depurar no menu pendente Mostrar saída de: . Também pode inspecionar a desmontagem, registos ou memória do programa através do menu Depurar>o Windows .

Em seguida, pode utilizar o depurador do Visual Studio para definir pontos de interrupção, colocar em pausa, avançar, avançar, reiniciar ou parar a aplicação.

Enquanto está parado num ponto de interrupção no código fonte C, pode abrir uma janela Desmontar que mostra o endereço atual, o assembler mnemonic para o comando atual e informações como os registos envolvidos ou o comando de código fonte a ser executado.

Para abrir a janela Desmontar :

  1. Certifique-se de que o ficheiro de origem do código C que contém o ponto de interrupção está aberto no Visual Studio.
  2. Selecione Depurar>o Windows>Desmontar ou prima Alt+8.
  1. Prima F5 para compilar e depurar o projeto. Se o projeto não tiver sido criado anteriormente ou se os ficheiros tiverem sido alterados e a reconstrução for necessária, o Visual Studio Code compilará o projeto antes do início da depuração.

  2. Aguarde vários segundos para que o Visual Studio Code crie a aplicação, crie um pacote de imagem, implemente-o no quadro e inicie-o no modo de depuração. Verá atualizações de estado no painel Saída ao longo do caminho.

    Primeiro, o CMake determina se a aplicação precisa de ser criada. Em caso afirmativo, o foco muda para a janela de saída, que apresenta a saída de CMake/Build.

    Em seguida, o painel Saída mostra o resultado à medida que o pacote de imagem é implementado no dispositivo. Por fim, a Consola de Depuração recebe o foco e mostra a saída do depurador.

Utilize o depurador do Visual Studio Code para definir pontos de interrupção, colocar em pausa, avançar, avançar, reiniciar ou parar a aplicação.

Enquanto está parado num ponto de interrupção no código fonte C, pode abrir uma vista Desmontagem que mostra o endereço atual, os dados hexadecimais não processados, o assembler mnemonic para o comando atual e informações como os registos envolvidos ou o comando de código fonte a ser executado.

Para abrir a vista Desmontar:

  1. Certifique-se de que o ficheiro de origem do código C que contém o ponto de interrupção está aberto num editor do Visual Studio Code.
  2. Clique com o botão direito do rato na janela do editor e selecione Abrir Vista Desmontada ou selecione Ver> Paleta > deComandosAbrir Vista Desmontada.

Para depurar a aplicação, pare-a e reinicie-a com a depuração:

az sphere device app stop --component-id <ComponentId>
az sphere device app start --debug-mode --component-id <ComponentId>

Deverá ver:

<ComponentID>
App state   : debugging
GDB port    : 2345
Output port : 2342
Core        : High-level
Command completed successfully in 00:00:00.9121174.
  1. Abra uma linha de comandos e utilize qualquer cliente de terminal do Windows para estabelecer uma ligação Telnet ou TCP não processada para ler o fluxo de saída do processo. Especifique 192.168.35.2 como o endereço IP e 2342 como a porta.

  2. Abra uma interface de linha de comandos com o PowerShell, a Linha de Comandos do Windows ou a shell de comandos do Linux. Inicie o depurador da linha de comandos gdb:

    Linha de Comandos do Windows

    "C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb.exe" IntercoreComms_HighLevelApp.out
    

    Windows PowerShell

    & "C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb.exe" IntercoreComms_HighLevelApp.out
    

    Nota

    O SDK do Azure Sphere é fornecido com vários sysroots para que as aplicações possam visar diferentes conjuntos de API, conforme descrito em Versão do runtime da aplicação, sysroots e APIs Beta. Os sysroots são instalados na pasta de instalação do SDK do Azure Sphere em Sysroots.

  3. Defina o destino de depuração remota para o endereço IP 192.168.35.2 na porta 2345:

    target remote 192.168.35.2:2345
    
  4. Execute os comandos gdb que escolher. Por exemplo:

    break main
    
    c
    

    Os break comandos e c definem um ponto de interrupção à entrada para main() e, em seguida, continuam a execução após o ponto de interrupção, respetivamente. Estão disponíveis várias origens de documentação para gdb.