Eseguire il debug di un'applicazione di alto livelloDebug a high-level application

  1. Assicurarsi che il dispositivo sia connesso al PC tramite USB.Ensure that your device is connected to your PC by USB. Nel menu Imposta elemento di avvio selezionare GDB Debugger (HLCore) o premere F5.In the Set startup item menu, select GDB Debugger (HLCore) or press F5.

    Pulsante Debugger GDB remoto

  2. Se viene richiesto di compilare il progetto, selezionare .If you are prompted to build the project, select Yes. Visual Studio compila l'applicazione, crea un pacchetto immagine, la trasferisce localmente nella scheda e la avvia in modalità di debug.Visual Studio compiles the application, creates an image package, sideloads it onto the board, and starts it in debug mode. Trasferimento locale significa che l'applicazione viene distribuita direttamente dal computer tramite una connessione cablata, invece che tramite il cloud.Sideloading means that the application is delivered directly from the PC over a wired connection, rather than delivered through the cloud.

    Prendere nota del percorso nell'output della build, che indica la posizione del pacchetto immagine di output nel PC.Note the path in the Build output, which indicates the location of the output image package on your PC. Il pacchetto di immagini verrà usato più avanti in esercitazione: creare una distribuzione cloud.You'll use the image package later in Tutorial: Create a cloud deployment.

  3. Per impostazione predefinita, la finestra di Output mostra l'output di Output del dispositivo.By default, the Output window shows output from Device Output. Per visualizzare i messaggi del debugger, selezionare Debug dal menu a discesa Mostra output di: .To see messages from the debugger, select Debug from the Show output from: dropdown menu. È anche possibile esaminare il disassembly, i registri o la memoria del programma tramite il menu Debug > Windows.You can also inspect the program disassembly, registers, or memory through the Debug > Windows menu.

  1. Premere F5 per compilare ed eseguire il debug del progetto.Press F5 to build and debug the project. Se il progetto non è stato compilato in precedenza o se i file sono stati modificati e la ricompilazione è obbligatoria, Visual Studio Code compilerà il progetto prima dell'avvio del debug.If the project has not previously been built, or if files have changed and rebuilding is required, Visual Studio Code will build the project before debugging starts.

  2. Attendere alcuni secondi per Visual Studio Code compilare l'applicazione, creare un pacchetto immagine, distribuirlo nella lavagna e avviarlo in modalità di debug.Wait several seconds for Visual Studio Code to build the application, create an image package, deploy it to the board, and start it in debug mode. Gli aggiornamenti di stato verranno visualizzati nel riquadro di output lungo il percorso.You'll see status updates in the Output pane along the way.

    In primo luogo, CMake determina se l'applicazione deve essere compilata.First, CMake determines whether the application needs to be built. In tal caso, lo stato attivo passa alla finestra di output, che Visualizza l'output da CMake/Build.If so, focus shifts to the output window, which displays the output from CMake/Build.

    Successivamente, la finestra di output mostra l'output di azsphere mentre distribuisce il pacchetto immagine nel dispositivo.Next, the output window shows the output from azsphere as it deploys the image package to the device. Infine, la console di debug riceve lo stato attivo e mostra l'output di gdb.Finally, the Debug Console receives focus and shows gdb output.

Per eseguire il debug dell'applicazione, arrestarla e riavviarla con il debug:To debug the application, stop it and then restart it with debugging:

azsphere device app stop --componentid <ComponentId>

azsphere device app start --debug --componentid <ComponentId>

Dovrebbe essere visualizzato:You should see:

<ComponentID>
App state   : debugging
GDB port    : 2345
Output port : 2342
Core        : High-level

Command completed successfully in 00:00:00.9121174.
  1. Aprire un prompt dei comandi e utilizzare qualsiasi client Terminal di Windows per stabilire una connessione TCP non elaborata o Telnet per leggere il flusso di output dal processo.Open a command prompt and use any Windows terminal client to establish a Telnet or raw TCP connection to read the output stream from the process. Specificare 192.168.35.2 come indirizzo IP e 2342 come porta.Specify 192.168.35.2 as the IP address and 2342 as the port.

  2. Nella finestra Azure Sphere Prompt dei comandi per gli sviluppatori o nel terminale Linux avviare il debugger della riga di comando GDB :In the Azure Sphere Developer Command Prompt window or Linux terminal window, start the gdb command-line debugger:

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

    Se si usa PowerShell, i comandi racchiusi tra virgolette come questo devono essere preceduti dall' & operatore.If you are using PowerShell, quoted commands such as this one must be preceded by the & operator.

  3. Impostare la destinazione di debug remoto su indirizzo IP 192.168.35.2 sulla porta 2345:Set the remote debugging target to IP address 192.168.35.2 on port 2345:

    target remote 192.168.35.2:2345

Immettere tutti i comandi gdb desiderati.Issue whatever gdb commands you choose. Ad esempio:For example:

break main cbreak main c

I comandi break e c impostano, nell'ordine, un punto di interruzione all'inserimento di main() per poi continuare l'esecuzione dopo il punto di interruzione.The break and c commands set a breakpoint upon entry to main() and then continue execution after the breakpoint, respectively. Sono disponibili diversi documenti relativi a gdb.Numerous sources of documentation are available for gdb.