Dijagnosticirajte na daljinu pomoću GDB-a
U uobičajenom slučaju kada udaljeni stroj ili spremnik već ima instaliran GDBserver i kada je udaljeno pokretanje aplikacije već postavljeno i radi odabirom gumba Run (ili Ctrl+R), možete pokrenuti udaljeno otklanjanje pogrešaka odabirom gumba Debug (ili F5).
U tom slučaju, Qt Creator pokreće i automatski povezuje debug poslužitelj i aplikaciju na udaljenom računalu te stvarni otklanjivač pogrešaka na razvojnom hostu u ispravnom redoslijedu.
Ovo je preporučena metoda.
Ako uvjeti za ovo automatizirano postavljanje nisu ispunjeni, ali vaša udaljena mašina može pokrenuti GDB poslužitelj (ili bilo koju kompatibilnu sondu koja koristi GDB serijski protokol), i dalje možete koristiti Qt Creator za otklanjanje pogrešaka u svojoj aplikaciji.
Aplikacija radi, SSH pristup udaljenom računalu je dostupan
Ako se želite spojiti na aplikaciju koja već radi na udaljenom računalu i debug poslužitelj se može pokrenuti putem SSH-a s lokalnog računala, idite na Debug > Start Debugging > Attach to running applications.
Aplikacija nije pokrenuta, terminalski pristup udaljenom računalu je dostupan
Ako se debug poslužitelj ne može pokrenuti putem SSH-a s lokalnog računala, provjerite dokumentaciju svog uređaja radi alternativnih načina pokretanja debug poslužitelja.
Ako imate pristup terminalu na udaljenom računalu i instaliran GDB poslužitelj, možete ručno prenijeti izvršnu datoteku na udaljeno računalo i pokrenuti gdbserver prosljeđivanjem broja priključka i izvršne datoteke:
gdbserver :1234 /path/to/executable
Zatim obično odgovara:
Process /path/to/executable created; pid = 5159 Listening on port 1234
Na lokalnom računalu na kojem se pokreće Qt Creator:
- Idite na Debug > Start Debugging > Attach to Running Debug Server.

- U Kit odaberite build i run kit koji ćete koristiti za izgradnju projekta.
- U Server port unesite naziv udaljenog računala i broj porta koji ćete koristiti.
- U Local executable odredite putanju do izvršne datoteke aplikacije na lokalnom računalu.
- U odjeljku Command line arguments navedite argumente naredbenog retka koji će se proslijediti izvršnoj datoteci.
- U Working directory odredite radni direktorij. Zadano je to direktorij s rezultatom izgradnje.
- Odaberite Run in terminal za konzolne aplikacije.
- Odaberite Break at "main" da zaustavite otklanjivač pogrešaka na glavnoj funkciji.
- Odaberite Use target extended-remote to connect za uspostavljanje veze u
target extended-remote mode. U ovom načinu rada, kada se debugirana aplikacija zatvori ili se odvojite od nje, otklanjivač pogrešaka ostaje povezan s ciljom. Možete ponovno pokrenuti aplikaciju, spojiti se na pokrenutu aplikaciju ili koristiti naredbe monitora specifične za cilj. Na primjer, GDB se ne zatvara osim ako nije pozvan pomoću opcije--once, ali možete ga natjerati da se zatvori korištenjem naredbemonitor exit. - U Override SysRoot-u navedite putanju do
sysroot-a koji ćete koristiti umjesto zadanogsysroot-a. - U Init commands-u unesite naredbe koje će se izvršiti odmah nakon uspostavljanja veze s odredištem.
- U Reset commands unesite naredbe koje će se izvršiti pri resetiranju veze s odredištem.
- U odjeljku Debug information navedite lokaciju za pohranu informacija o otklanjanju pogrešaka. Ne možete koristiti prazan put.
- U Override server channel u navedite komunikacijski kanal koji ćete koristiti, kao što je serijski priključak ili prilagođeni port.
- U Recent odaberite nedavnu konfiguraciju za korištenje.
- Odaberite OK za pokretanje otklanjanja pogrešaka.
Po zadanome se neaktivni GDB proces prekida nakon 40 sekundi. Za povećanje vremenskog ograničenja u načinu rada GDB timeout idite na Postavke > Debugger > GDB.
Za više informacija o povezivanju u načinu target extended-remote u GDB-u pogledajte Debugging with GDB: Connecting to a Remote Target.
Aplikacija radi, pristup terminalu na udaljenom računalu i gdbserver su dostupni
Ovaj je slučaj gotovo identičan prethodnom odjeljku, osim što se gdbserver pokreće drugačije:
gdbserver --attach :1234 <PID of running application>
Koristite SSH prosljeđivanje portova
Da biste omogućili otklanjanje pogrešaka na udaljenim ciljevima koji ne mogu izložiti GDB poslužiteljske priključke, mapirajte udaljene priključke na lokalne priključke pomoću SSH tuneliranja. Qt Creator automatski otkriva lokalne i udaljene priključke.
Za uključivanje SSH port forwarding-a:
- Idite na Preferences > Devices.

- U Device-u odaberite Remote Linux Device.
- Odaberite Use SSH port forwarding for debugging.
- Odaberite OK.
Vidi također Kako: Debugiranje, Kako: Razvijanje za udaljeni Linux, GDB, Debugiranje, Debugeri, Debuger i Kompleti.
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.