Ladění aplikace vysoké úrovně
Ujistěte se, že je zařízení připojené k počítači přes USB. V nabídce Nastavit spouštěcí položku vyberte Azure Sphere App (HLCore), kde Azure Sphere App je název vaší aktuální aplikace vysoké úrovně, nebo stiskněte F5.
Pokud se zobrazí výzva k sestavení projektu, vyberte Ano. Visual Studio zkompiluje aplikaci, vytvoří balíček image, načte ji bokem na panel a spustí ji v režimu ladění. Zkušební načtení znamená, že se aplikace doručuje přímo z počítače přes kabelové připojení, 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 zobrazuje výstup z výstupu zařízení. Pokud chcete zobrazit zprávy z ladicího programu, vyberte v rozevírací nabídce Zobrazit výstup z možnost Ladit. Můžete také zkontrolovat přebírání programu, registry nebo paměť prostřednictvím nabídky Ladit>windows .
Potom můžete použít ladicí program sady Visual Studio k nastavení zarážek, pozastavení, krokování, krokování, restartování nebo zastavení aplikace.
Zatímco se zastavíte u zarážky ve zdrojovém kódu jazyka C, můžete otevřít okno Demontáž, které zobrazuje aktuální adresu, mnemotechnický assembler pro aktuální příkaz a informace, jako jsou zapojené registry nebo spouštěný příkaz zdrojového kódu.
Otevření okna Demontáž :
- Ujistěte se, že zdrojový soubor kódu C obsahující zarážku je otevřený v sadě Visual Studio.
- Vyberte DebugWindows> Disassembly (Ladit>Windows Disassembly) nebo stiskněte Alt+8.
Stisknutím klávesy F5 sestavte a ladit projekt. Pokud projekt ještě nebyl sestaven nebo pokud se změnily soubory a vyžaduje se opětovné sestavení, visual Studio Code projekt před zahájením ladění sestaví.
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í. V podokně Výstup uvidíte aktualizace stavu.
Nejprve CMake určí, jestli je potřeba aplikaci sestavit. Pokud ano, fokus se přesune do okna výstupu, ve kterém se zobrazí výstup z CMake/Buildu.
Potom se v podokně Výstup zobrazí výsledek, když se balíček image nasadí do zařízení. Nakonec konzola ladění obdrží fokus a zobrazí výstup ladicího programu.
Pomocí ladicího programu editoru Visual Studio Code nastavte zarážky, pozastavení, krokování, krokování, restartování nebo zastavení aplikace.
Zatímco se zastavíte u zarážky ve zdrojovém kódu jazyka C, můžete otevřít zobrazení Demontáž, které zobrazuje aktuální adresu, nezpracovaná šestnáctková data, mnemotechnický assembler pro aktuální příkaz a informace, jako jsou zapojené registry nebo spouštěný příkaz zdrojového kódu.
Otevření zobrazení Demontáž:
- Ujistěte se, že zdrojový soubor kódu C obsahující zarážku je otevřený v editoru Visual Studio Code.
- Buď klikněte pravým tlačítkem v okně editoru a vyberte Otevřít zobrazení demontáže, nebo vyberte Zobrazit>paletu> příkazůOtevřít zobrazení demontáže.
Pokud chcete aplikaci ladit, zastavte ji a pak ji restartujte s laděním:
az sphere device app stop --component-id <ComponentId>
az sphere device app start --debug-mode --component-id <ComponentId>
Měli byste vidět:
<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 systému Windows nastavte připojení Telnet nebo nezpracované připojení TCP pro čtení výstupního datového proudu z procesu. Jako IP adresu zadejte 192.168.35.2 a jako port 2342.
Otevřete rozhraní příkazového řádku pomocí PowerShellu, příkazového řádku Windows nebo linuxového příkazového prostředí. 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 několika kořeny systému, aby aplikace mohly cílit na různé sady rozhraní API, jak je popsáno v tématu Verze modulu runtime aplikací, sysroots a beta rozhraní API. Sysroots 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 všechny příkazy gdb , které zvolíte. Příklad:
break main
c
Příkazy
break
ac
nastaví zarážku při zadání na hodnotu main() a pak po této zarážce pokračujte v provádění. Pro gdb je k dispozici řada zdrojů dokumentace.