Biblioteki C++
Uruchomienie zdalnego debugowania aplikacji
[lekcja] Rozdział 2. Niniejszy rozdział opisuje w jaki sposób podłączyć się do zdalnego procesu lub aplikacji, uruchomionej na tym samym lub innym urządzeniu.Wprowadzenie
Pracując z wytwarzanymi aplikacjami czasami zachodzi potrzeba debugowania aplikacji, która znajduje się na innym urządzeniu niż to, na którym kompilujemy kod. Wówczas z pomocą przychodzi nam narzędzie
gdbserver, które daje nowe możliwości pracy w zakresie śledzenia błędów w aplikacjach.
Urządzenie zdalne (na którym uruchomiona jest aplikacja)
Uruchamianie aplikacji w trybie zdalnego debugowania
Poniższe polecenie wykonuje się na urządzeniu, na którym uruchamiamy aplikację i chcemy w niej wykrywać błędy:
(konsola) gdbserver :DOWOLNY_PORT_TCP NAZWA_TWOJEJ_APLIKACJI [parametr1] [parametr2] [parametr3]
Przykład:
(konsola) gdbserver :9999 /usr/bin/MojaAplikacjaARM
Uruchamianie zdalnego debuggera na uruchomionym procesie (Linux)
Poniższe polecenie wykonuje się na urządzeniu, na którym uruchomiona jest aplikacja i chcemy w niej wykrywać błędy:
(konsola) gdbserver :DOWOLNY_PORT_TCP --attach IDENTYFIKATOR_PROCESU
Przykład:
(konsola) gdbserver :9999 --attach 3214
Wskazówka Chcąc podłączyć się do aktualnie uruchomionego procesu na Linuxie, może być konieczne uruchomienie gdbserver za pośrednictwem aplikacji sudo:
(konsola) sudo gdbserver :9999 --attach IDENTYFIKATOR_PROCESU
|
Urządzenie lokalne (na którym chcemy debugować)
Podłączanie się debuggerem do uruchomionego serwera GDB
(konsola) gdb NAZWA_TWOJEJ_APLIKACJI_Z_PEŁNĄ_SCIEŻKĄ
(gdb) target remote ADRES_IP_URZĄDZENIA_ZDALNEGO:PORT_TCP_PODANY_NA_URZĄDZENIU_ZDALNYM
(gdb) continue
Przykład:
(konsola) gdb /home/DejaVu/projects/Edukacja/Debug/MojaAplikacjaARM
(gdb) target remote 127.0.0.1:9999
(gdb) continue
Zauważ, że ścieżkę do aplikacji podaje się dla urządzenia na którym chcemy debugować, a nie na którym uruchomiona jest aplikacja. Urządzenie zdalne może mieć umieszczony plik w zupełnie innym miejscu. Pamiętaj również, aby aplikacja debugowana była taka sama na urządzeniu zdalnym jak i lokalnym (zgodność binarna plików).
Kończenie debugowania zdalnego
(gdb) detach
Podsumowanie
Teraz już wiesz w jaki sposób można uruchamiać debugger na zdalnej maszynie oraz jak się do niego podłączać. Korzystanie z aplikacji
gdbserver umożliwia Ci łatwe zintegrowanie GDB ze środowiskiem programistycznym (np. Code::Blocks), ułatwiającym proces śledzenia błędów w aplikacjach.
Pamiętaj, że: Aplikację gdbserver można również używać na tej samej maszynie, na której kompiluje się kod. Wiedza ta może się przydać wtedy, gdy zechcemy podłączyć się do uruchomionego procesu, a dostęp do procesu wymaga praw administratora (i zazwyczaj wprowadzenia dodatkowo hasła).
|
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.