Fouten opsporen in een toepassing op hoog niveau
Zorg ervoor dat uw apparaat via USB is aangesloten op uw pc. Selecteer in het menu Opstartitem instellende optie Azure Sphere-app (HLCore) waarbij Azure Sphere-app de naam is van uw huidige toepassing op hoog niveau of druk op F5.
Als u wordt gevraagd het project te bouwen, selecteert u Ja. Visual Studio compileert de toepassing, maakt een installatiekopieënpakket, sideloadt het op het bord en start deze in de foutopsporingsmodus. Sideloading betekent dat de toepassing rechtstreeks vanaf de pc wordt geleverd via een bekabelde verbinding, in plaats van via de cloud.
Noteer de installatiekopieën-id van het installatiekopieënpakket in uitvoer weergeven>>Uitvoer weergeven van: Build-uitvoer. U gebruikt de installatiekopieën-id verderop in Zelfstudie: Een cloudimplementatie maken.
In het venster Uitvoer wordt standaard de uitvoer van Apparaatuitvoer weergegeven. Als u berichten uit het foutopsporingsprogramma wilt zien, selecteert u Foutopsporing in de vervolgkeuzelijst Uitvoer weergeven van: . U kunt ook de demontage van het programma, de registers of het geheugen controleren via het menu Foutopsporing>in Windows .
Vervolgens kunt u het foutopsporingsprogramma van Visual Studio gebruiken om onderbrekingspunten in te stellen, te onderbreken, over te stappen, opnieuw op te starten of de toepassing te stoppen.
Als deze is gestopt bij een onderbrekingspunt in uw C-broncode, kunt u een demontagevenster openen met het huidige adres, het ezelsbruggetje voor de huidige opdracht en informatie zoals de betrokken registers of de broncodeopdracht die wordt uitgevoerd.
Het venster Demontage openen:
- Zorg ervoor dat het C-codebronbestand met het onderbrekingspunt is geopend in Visual Studio.
- Selecteer Fouten opsporen>inWindows-demontage> of druk op Alt+8.
Druk op F5 om het project te bouwen en fouten op te sporen. Als het project nog niet eerder is gebouwd of als bestanden zijn gewijzigd en opnieuw moeten worden opgebouwd, bouwt Visual Studio Code het project voordat de foutopsporing wordt gestart.
Wacht enkele seconden totdat Visual Studio Code de toepassing heeft gebouwd, een installatiekopieënpakket hebt gemaakt, het op het bord implementeert en in de foutopsporingsmodus start. U ziet onderweg statusupdates in het deelvenster Uitvoer .
Eerst bepaalt CMake of de toepassing moet worden gebouwd. Als dat zo is, wordt de focus verplaatst naar het uitvoervenster, waarin de uitvoer van CMake/Build wordt weergegeven.
Vervolgens wordt in het deelvenster Uitvoer het resultaat weergegeven wanneer het installatiekopiepakket op het apparaat wordt geïmplementeerd. Ten slotte krijgt de foutopsporingsconsole de focus en wordt de uitvoer van het foutopsporingsprogramma weergegeven.
Gebruik het foutopsporingsprogramma van Visual Studio Code om onderbrekingspunten in te stellen, te onderbreken, over te stappen, in te stappen, opnieuw op te starten of de toepassing te stoppen.
Als u stopt bij een onderbrekingspunt in uw C-broncode, kunt u een demontageweergave openen met het huidige adres, onbewerkte hexgegevens, het ezelsbruggetje van de assemblyr voor de huidige opdracht en informatie, zoals de betrokken registers of de broncodeopdracht die wordt uitgevoerd.
De weergave Demontage openen:
- Zorg ervoor dat het C-codebronbestand met het onderbrekingspunt is geopend in een Visual Studio Code-editor.
- Klik met de rechtermuisknop in het editorvenster en selecteer Demontageweergave openen of selecteerOpdrachtpalet>Weergeven>Demontageweergave openen.
Als u fouten in de toepassing wilt opsporen, stopt u deze en start u deze opnieuw met foutopsporing:
az sphere device app stop --component-id <ComponentId>
az sphere device app start --debug-mode --component-id <ComponentId>
U ziet het volgende:
<ComponentID>
App state : debugging
GDB port : 2345
Output port : 2342
Core : High-level
Command completed successfully in 00:00:00.9121174.
Open een opdrachtprompt en gebruik een Windows-terminalclient om een Telnet- of onbewerkte TCP-verbinding tot stand te brengen om de uitvoerstroom van het proces te lezen. Geef 192.168.35.2 op als het IP-adres en 2342 als poort.
Open een opdrachtregelinterface met behulp van PowerShell, Windows-opdrachtprompt of Linux-opdrachtshell. Start het gdb-opdrachtregeldebugger:
Windows-opdrachtprompt
"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
Opmerking
De Azure Sphere SDK wordt geleverd met meerdere sysroots , zodat toepassingen zich kunnen richten op verschillende API-sets, zoals beschreven in Application Runtime-versie, sysroots en beta-API's. De sysroots worden geïnstalleerd in de Azure Sphere SDK-installatiemap onder Sysroots.
Stel het doel voor externe foutopsporing in op IP-adres 192.168.35.2 op poort 2345:
target remote 192.168.35.2:2345
Voer de gdb-opdrachten uit die u kiest. Bijvoorbeeld:
break main
c
De
break
opdrachten enc
stellen bij invoer een onderbrekingspunt in op main() en gaan vervolgens door met de uitvoering na het onderbrekingspunt. Er zijn talloze documentatiebronnen beschikbaar voor gdb.