Ladění aplikace vysoké úrovně

  1. 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.

    Tlačítko vzdáleného Ladicího programu GDB

  2. 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í.

  3. 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áž :

  1. Ujistěte se, že zdrojový soubor kódu C obsahující zarážku je otevřený v sadě Visual Studio.
  2. Vyberte DebugWindows> Disassembly (Ladit>Windows Disassembly) nebo stiskněte Alt+8.
  1. 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í.

  2. 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áž:

  1. Ujistěte se, že zdrojový soubor kódu C obsahující zarážku je otevřený v editoru Visual Studio Code.
  2. 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.
  1. 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.

  2. 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.

  3. 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
    
  4. Spusťte všechny příkazy gdb , které zvolíte. Příklad:

    break main
    
    c
    

    Příkazy break a c 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.