Ladění aplikace vysoké úrovně
Důležité
Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.
Ujistěte se, že je vaše zařízení připojené k počítači přes USB. V nabídce Nastavit spouštěcí položku vyberte aplikaci Azure Sphere (HLCore), kde je aplikace Azure Sphere názvem vaší aktuální aplikace vysoké úrovně, nebo stiskněte klávesu F5.
Pokud se zobrazí výzva k sestavení projektu, vyberte Ano. Visual Studio zkompiluje aplikaci, vytvoří balíček image, načte ho na panel a spustí ji v režimu ladění. Zkušební načtení znamená, že aplikace je doručována přímo z počítače přes kabelové připojení, a nikoli prostřednictvím cloudu.
Poznamenejte si ID image balíčku image v zobrazení >výstupu>zobrazit výstup z: Výstup sestavení. ID image použijete později v kurzu: Vytvoření cloudového nasazení.
Ve výchozím nastavení se v okně Výstup zobrazí výstup z výstupu zařízení. Pokud chcete zobrazit zprávy z ladicího programu, vyberte Ladit z rozevírací nabídky Zobrazit výstup z: Pomocí nabídky Ladění>systému Windows můžete také zkontrolovat demontáž, registraci nebo paměť programu.
Ladicí program sady Visual Studio pak můžete použít k nastavení zarážek, pozastavení, krokování, kroku do, restartování nebo zastavení aplikace.
Během zastavení na zarážce ve zdrojovém kódu jazyka C můžete otevřít okno zpětného překladu, které zobrazuje aktuální adresu, assembler mnemonic pro aktuální příkaz, a informace, jako jsou registrace zahrnuté nebo spuštěný příkaz zdrojového kódu.
Otevření okna zpětného překladu:
- Ujistěte se, že je zdrojový soubor kódu jazyka C obsahující zarážku otevřený v sadě Visual Studio.
- Vyberte Ladění>zpětného překladu systému Windows>nebo stiskněte Alt+8.
Stisknutím klávesy F5 sestavte a ladit projekt. Pokud projekt ještě nebyl sestaven nebo pokud se soubory změnily a znovu se vyžadují, Visual Studio Code projekt sestaví před spuštěním ladění.
Počkejte několik sekund, než Visual Studio Code sestaví aplikaci, vytvoří balíček image, nasadí ho na panel a spustí ji v režimu ladění. Aktualizace stavu se zobrazí v podokně Výstup .
Nejprve CMake určuje, jestli se má aplikace sestavit. Pokud ano, fokus se přesune do okna výstupu, ve kterém se zobrazí výstup z CMake/Buildu.
V dalším kroku se v podokně Výstup zobrazí výsledek při nasazení balíčku image do zařízení. Nakonec konzola ladění přijme fokus a zobrazí výstup ladicího programu.
Ladicí program editoru Visual Studio Code slouží k nastavení zarážek, pozastavení, krokování, krokování, restartování nebo zastavení aplikace.
Při zastavení na zarážce ve zdrojovém kódu jazyka C můžete otevřít zobrazení zpětného překladu, které zobrazuje aktuální adresu, nezpracovaná šestnáctková data, měmonic assembleru pro aktuální příkaz a informace, jako jsou například registrace, které se týkají, nebo příkaz zdrojového kódu, který se spouští.
Otevření zobrazení zpětného překladu:
- Ujistěte se, že je zdrojový soubor kódu jazyka C obsahující zarážku otevřený v editoru Visual Studio Code.
- V okně editoru klikněte pravým tlačítkem myši a vyberte Otevřít zobrazení zpětného překladu nebo vyberte >Zobrazit paletu>příkazů Otevřít zobrazení zpětného překladu.
Pokud chcete aplikaci ladit, zastavte ji a restartujte ji laděním:
azsphere device app stop --component-id <ComponentId>
azsphere device app start --debug-mode --component-id <ComponentId>
Měli byste vidět tohle:
<ComponentID>
App state : debugging
GDB port : 2345
Output port : 2342
Core : High-level
Command completed successfully in 00:00:00.9121174.
Otevřete příkazový řádek a pomocí libovolného klienta terminálu Windows vytvořte připojení Telnet nebo nezpracované připojení TCP ke čtení výstupního datového proudu z procesu. Jako IP adresu zadejte 192.168.35.2 a jako port zadejte 2342.
Otevřete rozhraní příkazového řádku pomocí PowerShellu, příkazového řádku Windows nebo příkazového prostředí Linuxu. Spusťte ladicí program příkazového řádku gdb :
Příkazový řádek 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
Poznámka:
Sada Azure Sphere SDK se dodává s více kořeny sysroot, aby aplikace mohly cílit na různé sady rozhraní API, jak je popsáno ve verzi modulu runtime aplikace, sysroots a beta rozhraníCH API. Složky sysroot se instalují do instalační složky sady Azure Sphere SDK v části Sysroots.
Nastavte cíl vzdáleného ladění na IP adresu 192.168.35.2 na portu 2345:
target remote 192.168.35.2:2345
Spusťte libovolné příkazy gdb , které zvolíte. Příklad:
break main
c
c
Příkazybreak
nastavily zarážku po zadání na main() a potom pokračujte v provádění za zarážkou. Pro gdb je k dispozici celá řada zdrojů dokumentace.