Debugowanie aplikacji wysokiego poziomu
Upewnij się, że urządzenie jest podłączone do komputera za pomocą portu USB. W menu Ustaw element startowy wybierz pozycję Azure Sphere App (HLCore), gdzie aplikacja Azure Sphere to nazwa bieżącej aplikacji wysokiego poziomu lub naciśnij klawisz F5.
Jeśli zostanie wyświetlony monit o skonstruowanie projektu, wybierz pozycję Tak. Visual Studio kompiluje aplikację, tworzy pakiet obrazów, pobiera go na tablicę i uruchamia w trybie debugowania. Ładowanie bezpośrednie oznacza, że aplikacja jest dostarczana bezpośrednio z komputera za pośrednictwem połączenia przewodowego, a nie dostarczana przez chmurę.
Zwróć uwagę na identyfikator obrazu pakietu obrazów wwynikuwyświetlenia> pokazuwyjściowego> z: dane wyjściowe kompilacji. Identyfikator obrazu zostanie użyty w dalszej części samouczka Samouczek: Tworzenie wdrożenia w chmurze.
Domyślnie w oknie Dane wyjściowe są wyświetlane dane wyjściowe z danych wyjściowych urządzenia. Aby wyświetlić wiadomości z debugera, wybierz debugowanie z menu rozwijanego Pokaż dane wyjściowe z . Możesz również sprawdzić dezasemblowanie programu, rejestry lub pamięć za pomocą menu Debugowanie>systemu Windows .
Następnie za pomocą debugera programu Visual Studio możesz ustawiać punkty przerwania, wstrzymywać działanie, przechodzić do kolejnych kroków, uruchamiać ponownie lub zatrzymywać aplikację.
Po zatrzymaniu w punkcie przerwania w kodzie źródłowym C można otworzyć okno Dezasembly pokazujące bieżący adres, mnemonic assembler dla bieżącego polecenia oraz informacje, takie jak rejestry lub wykonywane polecenie kodu źródłowego.
Aby otworzyć okno Dezasembly :
- Upewnij się, że plik źródła kodu C zawierający punkt przerwania jest otwarty w programie Visual Studio.
- Wybierz pozycję Debugowanie>demontażusystemu Windows> lub naciśnij klawisze Alt+8.
Naciśnij klawisz F5, aby utworzyć i debugować projekt. Jeśli projekt nie został wcześniej utworzony lub pliki zostały zmienione i wymagane jest ponowne odbudowanie, Visual Studio Code utworze projekt przed rozpoczęciem debugowania.
Poczekaj kilka sekund, aż Visual Studio Code zbudować aplikację, utworzyć pakiet obrazów, wdrożyć go na tablicy i uruchomić w trybie debugowania. Po drodze w okienku Dane wyjściowe będą wyświetlane aktualizacje stanu.
Najpierw funkcja CMake określa, czy aplikacja musi zostać skonstruowana. Jeśli tak, fokus zostanie przeniesiony do okna wyjściowego, w którym zostaną wyświetlone dane wyjściowe Z CMake/Build.
Następnie w okienku Dane wyjściowe jest wyświetlany wynik wdrożenia pakietu obrazów na urządzeniu. Konsola debugowania otrzymuje fokus i wyświetla dane wyjściowe debugera.
Za pomocą debugera Visual Studio Code możesz ustawiać punkty przerwania, wstrzymywać działanie, przechodzić do kolejnych kroków, uruchamiać ponownie lub zatrzymywać aplikację.
Po zatrzymaniu w punkcie przerwania w kodzie źródłowym C można otworzyć widok Dezasembly pokazujący bieżący adres, nieprzetworzone dane szesnastkowe, mnemonic assembler dla bieżącego polecenia oraz informacje, takie jak rejestry lub wykonywane polecenie kodu źródłowego.
Aby otworzyć widok Dezasembly:
- Upewnij się, że plik źródła kodu C zawierający punkt przerwania jest otwarty w edytorze Visual Studio Code.
- Kliknij prawym przyciskiem myszy w oknie edytora i wybierz pozycję Otwórz widok dezasembly lub wybierz polecenie Wyświetl>paletę> poleceńOtwórz widok dezasembly.
Aby debugować aplikację, zatrzymaj ją, a następnie uruchom ponownie za pomocą debugowania:
azsphere device app stop --component-id <ComponentId>
azsphere device app start --debug-mode --component-id <ComponentId>
Powinien zostać wyświetlony następujący komunikat:
<ComponentID>
App state : debugging
GDB port : 2345
Output port : 2342
Core : High-level
Command completed successfully in 00:00:00.9121174.
Otwórz wiersz polecenia i użyj dowolnego klienta terminalu systemu Windows, aby ustanowić połączenie Telnet lub raw TCP w celu odczytania strumienia wyjściowego z procesu. Jako port określ wartość 192.168.35.2 jako adres IP, a numer 2342.
Otwórz interfejs wiersza polecenia przy użyciu programu PowerShell, wiersza polecenia systemu Windows lub powłoki poleceń systemu Linux. Uruchom debuger wiersza polecenia gdb :
Wiersz polecenia systemu 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
Uwaga
Zestaw SDK Azure Sphere jest dostarczany z wieloma sysrootami , dzięki czemu aplikacje mogą kierować różne zestawy interfejsów API, zgodnie z opisem w wersji środowiska wykonawczego aplikacji, sysrootach i interfejsach API beta. Sysroots są instalowane w folderze instalacji Azure Sphere SDK w obszarze Sysroots.
Ustaw dla celu debugowania zdalnego adres IP 192.168.35.2 na porcie 2345:
target remote 192.168.35.2:2345
Uruchom dowolne polecenia gdb , które wybierzesz. Na przykład:
break main
c
The
break
andc
commands set a breakpoint on entry to main() and then continue execution after the breakpoint, respectively. Dostępne są liczne źródła dokumentacji dla gdb.