Sdílet prostřednictvím


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.

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

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

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

  1. Ujistěte se, že je zdrojový soubor kódu jazyka C obsahující zarážku otevřený v sadě Visual Studio.
  2. Vyberte Ladění>zpětného překladu systému Windows>nebo stiskněte Alt+8.
  1. 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í.

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

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

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

  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 libovolné příkazy gdb , které zvolíte. Příklad:

    break main
    
    c
    

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