Date de Debug pentru programatori de club

Orice compilator implicit de depanare furnizează fișier obiect informații. GCC compilator prevede, de asemenea, astfel de informații la dosar și rezultatul pe care îl puteți vedea pentru tine. Când compilați proiectul din articolul precedent, avem o dimensiune de fișier a.out de 11817 bytes (poate că poate fi o dimensiune diferită).

Toate aceste informații sunt destinate pentru depanarea programului de depanare depanator GNU Debugger. Rulați-l puteți comanda:

Aceasta începe debugger și programul nostru compilat. Debugging vom vorbi separat și mai detaliat.

compilatorul GCC poate genera informațiile de depanare în diferite formate și volume, care poate controla tastele speciale. Vezi o descriere detaliată poate fi comanda gcc om.

opțiunea -g creează informațiile de depanare în forma nativă a sistemului de operare, el alege între mai multe formate: înjunghie. COFF. XCOFF sau DWARF. Pe multe sisteme, această cheie vă permite să utilizați informații specifice, care se poate utiliza numai GdB debugger. Alte taste permit un control mai bun asupra procesului de includere a informațiilor de depanare.

-ggdb Key include informații de depanare executabil nativ în tipul sistemului de operare și completează informațiile de specialitate pentru debugger gdb.

-gstabs cheie creează informațiile de depanare în format de lovituri de cuțit, fără extensii gdb suplimentare. Acest format este folosit de DBX depanatorul pe majoritatea sistemelor BSD. -gstabs cheie + adaugă informații de depanare ușor de înțeles GDB avansată depanator.

-gcoff cheie creează informații de depanare în format COFF. depanator SDB care este utilizat în majoritatea sistemelor de la System V versiunea sistemului V R4.

-gxcoff cheie furnizează informații de fișier în format XCOFF. care este utilizat de DBX debugger pe IBM RS / 6000 sisteme. Utilizarea -gxcoff + vlkyuchaet utiliza informații suplimentare pentru GDB.

-gdwarf cheie adaugă Infomatsiya în DWARF sistem format prinyaotm System V Release 4. În consecință -gdwarf + cheie adaugă GdB debugger.

Adăugarea acestor chei la sfârșitul numerelor poate mări sau micșora nivelul de depanare, și anume controla dimensiunea informațiilor de depanare dorite. De exemplu, cheia:

Creșterea nivelului de depanare la 3. Valoarea implicită este 2. compilator de depanare primul nivel include o cantitate minimă de fișier cu informații de depanare este suficientă pentru fixarea părți ale programului pe care nu o depanare planirovli. Informațiile includ descrierea unor funcții și variabile externe, dar nu include informații despre variabilele locale și linii non-sursă. Al doilea nivel - nivelul implicit, fișierul include cele mai multe informații de depanare necesare. Al treilea nivel vă permite să adăugați informații suplimentare, cum ar fi o anumită prezență în program macro.

Mai sus puteți vedea restul de chei care pot fi utilizate. Cele mai multe dintre aceste taste este proiectat pentru a afișa groapa de gunoi a programului la momentul compilarii si nu este pentru scopuri de depanare, precum și pentru depanare compilator în sine :)) Deci, puteți uita de ele si nu-mi amintesc.

Informații Debug este frumos, dar poate crește în mod semnificativ fișierul (în trei sau patru ori). Pentru a crea un software „eliberează“ există un program separat, care vă permite să eliminați informațiile de depanare din fișierul executabil. Acest program se numește banda. Pentru a goli complet fișierul de informații de depanare, pe care doriți să-l apelați cu opțiunea -s.

După tratamentul cu această dimensiune de fișier echipa a scăzut de aproape trei ori și a fost 3156 bytes. Comparativ cu 11 Kb înainte ca acesta este un lucru foarte bun.

articole similare