Compartir a través de


Depurar una aplicación de alto nivel

  1. Asegúrate de que el dispositivo esté conectado a tu PC mediante USB. En el menú Establecer elemento de inicio , selecciona Azure Sphere App (HLCore), donde Azure Sphere App es el nombre de la aplicación de alto nivel actual o presiona F5.

    Botón Depurador GDB remoto

  2. Si se le pide que cree el proyecto, seleccione . Visual Studio compila la aplicación, crea un paquete de imagen, lo carga de prueba en la placa y lo inicia en modo de depuración. La instalación de prueba significa que la aplicación se entrega directamente desde el PC a través de una conexión por cable, en lugar de entregarse a través de la nube.

    Observe el id. de imagen del paquete de imagen en lasalida de la>visualización> de la salida de: salida de la compilación. Usará el id. de imagen más adelante en el Tutorial: Crear una implementación en la nube.

  3. De forma predeterminada, la ventana Salida muestra la salida desde Salida de dispositivo. Para ver los mensajes del depurador, seleccione Depurar en el menú desplegable Mostrar salida de: . También puedes inspeccionar el desensamblaje del programa, los registros o la memoria a través del menú Depurar>Windows .

A continuación, puedes usar el depurador Visual Studio para establecer puntos de interrupción, pausar, paso a paso, entrar, reiniciar o detener la aplicación.

Mientras se detiene en un punto de interrupción en el código fuente C, puede abrir una ventana de desensamblaje que muestra la dirección actual, el ensamblador mnemotécnico del comando actual e información como los registros implicados o el comando source-code que se ejecuta.

Para abrir la ventana Desensamblar :

  1. Asegúrese de que el archivo de código fuente de C que contiene el punto de interrupción está abierto en Visual Studio.
  2. Seleccione Depurar>desensamblarWindows> o presione Alt+8.
  1. Presione F5 para compilar y depurar el proyecto. Si el proyecto no se ha creado anteriormente o si los archivos han cambiado y es necesario recompilar, Visual Studio Code creará el proyecto antes de que se inicie la depuración.

  2. Espere varios segundos hasta que Visual Studio Code para crear la aplicación, crear un paquete de imagen, implementarlo en el panel e iniciarlo en modo de depuración. Durante el proceso, verá actualizaciones de estado en el panel Salida .

    En primer lugar, CMake determina si es necesario crear la aplicación. Si es así, el foco se desplaza a la ventana de salida, que muestra la salida de CMake/Build.

    A continuación, el panel Salida muestra el resultado cuando el paquete de imagen se implementa en el dispositivo. Por último, la consola de depuración recibe el foco y muestra la salida del depurador.

Usa el depurador Visual Studio Code para establecer puntos de interrupción, pausar, paso a paso, entrar, reiniciar o detener la aplicación.

Mientras se detiene en un punto de interrupción del código fuente C, puede abrir una vista de desensamblaje que muestra la dirección actual, los datos hexadecimales sin procesar, el ensamblador mnemotécnico del comando actual e información como los registros implicados o el comando de código fuente que se ejecuta.

Para abrir la vista Desensamblar:

  1. Asegúrese de que el archivo de código fuente C que contiene el punto de interrupción está abierto en un editor de Visual Studio Code.
  2. Haga clic con el botón derecho en la ventana del editor y seleccione Abrir vista de desensamblado o seleccione Ver> paleta > decomandosAbrir vista de desensamblaje.

Para depurar la aplicación, deténgala y reiníciela con la depuración:

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

Debería ver:

<ComponentID>
App state   : debugging
GDB port    : 2345
Output port : 2342
Core        : High-level
Command completed successfully in 00:00:00.9121174.
  1. Abra un símbolo del sistema y utilice cualquier cliente de terminal de Windows para establecer una conexión Telnet o TCP sin procesar para leer la secuencia de salida del proceso. Especifique 192.168.35.2 como la dirección IP y 2342 como puerto.

  2. Abre una interfaz de línea de comandos con PowerShell, símbolo del sistema de Windows o shell de comandos de Linux. Inicia el depurador de línea de comandos gdb :

    Símbolo del sistema de 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

    El SDK de Azure Sphere se distribuye con varias sysroots para que las aplicaciones puedan dirigirse a diferentes conjuntos de API, como se describe en La versión en tiempo de ejecución de aplicaciones, sysroots y API beta. La sysroots se instala en la carpeta de instalación azure Sphere SDK en Sysroots.

  3. Establezca el destino de depuración remota en la dirección IP 192.168.35.2 en el puerto 2345:

    target remote 192.168.35.2:2345
    
  4. Ejecute los comandos gdb que elija. Por ejemplo:

    break main
    
    c
    

    Los break comandos y c establecen un punto de interrupción al entrar en main() y, a continuación, continúan la ejecución después del punto de interrupción, respectivamente. Numerosas fuentes de documentación están disponibles para gdb.