Na ovoj stranici

GDB

Da biste specificirali postavke za upravljanje GDB procesom, idite na Postavke > Debugger > GDB.

GDB kartica u postavkama otklanjanja pogrešaka

Sljedeća tablica sažima postavke.

PostavkaVrijednost
GDB timeoutVrijeme isteka za prekidanje neaktivnih GDB procesa u sekundama. Zadana vrijednost od 40 sekundi trebala bi biti dovoljna za većinu aplikacija, ali ako učitavanje velikih biblioteka ili prikazivanje izvornog koda na sporijim računalima traje znatno duže, povećajte vrijednost.
Skip known frames when steppingKomprimira nekoliko koraka u jedan za manje bučno otklanjanje pogrešaka pri ulasku u kod. Na primjer, kod atomskog brojanja referenci se preskače, a jedan jedini Step Into za emisiju signala završava izravno u pripadajućem slotu.
Show a message box when receiving a signalPrikazuje okvir za poruke čim vaša aplikacija primi signal, kao što je SIGSEGV, tijekom otklanjanja pogrešaka.
Adjust breakpoint locationsGDB omogućuje postavljanje prekida na izvornim redovima za koje nije generiran kod. U takvim situacijama prekid se pomiče na sljedeći redak izvornog koda za koji je kod zapravo generiran. Kako biste odrazili takve privremene promjene pomicanjem oznaka prekida u uređivaču izvornog koda, odaberite ovo potvrdno okvir.
Use dynamic object type for displayHoće li se prikazivati dinamički ili statički tip objekata. Odabir dinamičkog tipa može usporiti otklanjanje pogrešaka.
Load .gdbinit file on startupČita korisničku zadanu datoteku .gdbinit pri pokretanju otklanjivača pogrešaka.
Load system GDB pretty printersKoristi zadane GDB-ove uređivače formata instalirane na računalu ili povezane s bibliotekama koje vaša aplikacija koristi.
Use Intel style disassemblyPrebacuje se s zadane dekompilacije u AT&T stilu na Intel stil.
Use automatic symbol cacheAutomatski sprema kopiju indeksa simbola GDB-a u predmemoriju na disku i preuzima je odatle pri budućem učitavanju iste binarne datoteke.
Use debug info daemonPokušava automatski dohvatiti informacije za otklanjanje pogrešaka za sistemske pakete.

Izvršavanje dodatnih naredbi

Za izvršavanje GDB naredbi nakon što je GDB pokrenut, ali prije pokretanja ili povezivanja otklonjene aplikacije i prije inicijalizacije pomoćnih alata za otklanjanje pogrešaka, unesite ih u Additional Startup Commands.

Za izvršavanje GDB naredbi nakon što se GDB uspješno poveže s udaljenim ciljevima, unesite ih u Additional Attach Commands. Ovdje možete dodati naredbe za daljnju konfiguraciju cilja, kao što su monitor reset ili load.

Za izvođenje jednostavnih Python naredbi, pred njih stavite python. Za izvođenje niza Python naredbi koje se protežu na više redaka, na zasebnom retku na vrh bloka stavite python, a na zasebnom retku na kraj end. Za izvođenje proizvoljnih Python skripti, upotrijebite python execfile('/path/to/script.py').

Proširene GDB postavke

Preferencije u grupi Extended daju pristup naprednim ili eksperimentalnim funkcijama GDB-a. Omogućavanje istih može negativno utjecati na vaše iskustvo otklanjanja pogrešaka, stoga ih koristite s oprezom.

PreferencijaVrijednost
Use asynchronous mode to control the debugged processIzvršavanje naredbi u pozadini (asinkrono). GDB odmah otvara naredbeni redak na kojem možete unositi druge naredbe dok vaš program radi.
Use common locations for debug informationDodaje uobičajene putanje do lokacija informacija za otklanjanje pogrešaka, kao što je /usr/src/debug, pri pokretanju GDB-a.
Stop when qWarning() is calledDodaje prekidnu točku na svaku funkciju qWarning().
Stop when qFatal() is calledDodaje prekidnu točku na svaku funkciju qFatal().
Stop when abort() is calledDodaje prekidnu točku na svakoj funkciji abort().
Enable reverse debuggingOmogućuje korak unatrag. Ova je značajka vrlo spora i nestabilna na strani GDB-a. Pokazuje nepredvidivo ponašanje pri koraku unatrag preko sistemskih poziva i vrlo je vjerojatno da će uništiti vašu sesiju otklanjanja pogrešaka.
Debug all child processesNastavlja otklanjanje pogrešaka na svim podređenim procesima nakon fork-a.

Vidi također Kako: Debugiranje, Debugiranje, Debugeri i Debuger.

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.