Scroll to navigation

gdb(1) GNU Eszközök gdb(1)

NÉV

gdb - A GNU hibakereső

ÖSSZEGZÉS

gdb
[-help] [-nx] [-q] [-batch] [-cd=dir ] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-x cmds] [-d dir] [prog[core|procID]]

LEÍRÁS

Egy olyan hibakereső, mint a GDB, célja az, hogy betekintést nyújtson egy másik program ``belsejébe'', miközben az fut—vagy arra, hogy mit csinált egy másik program abban a pillanatban, amikor összeomlott.

A GDB négy fő dologra képes (és még néhány egyébre is e négy dolog támogatásához), amelyek segítenek a működés közben való hibakeresésben:

   •
Elindítja a programot, meghatároz bármely olyan dolgot, amely befolyásolhatja a működését.

   •
Megállítja a programot meghatározott körülmények bekövetkeztekor.

   •
Megvizsgálja, hogy mi történt, amikor a program megállt.

   •
Megváltoztat dolgokat a programban, hogy kísérletezni lehessen a hiba következményeinek kijavítása érdekében, és folytathassa a munkát egy másik hibán.

A GDB C, C++, és Modula-2 nyelvű programok hibáinak keresésére használható. Amint a GNU Fortran fordító elkészül, a GDB a Fortran-t is támogatni fogja.

A GDB-t a gdb shell paranccsal kell elindítani. Ha elindult, a parancsokat a terminálról olvassa be, egészen addig, amíg ki nem lép a quit parancs hatására. Súgót a help paranccsal kaphat.

A gdb elindítható argumentumok vagy opciók nélkül is; de a leggyakoribb módja a GDB elindításának egy vagy két argumentummal történik, egy futtatható programot adva meg argumentumként:

gdb program

Elindítható továbbá egy futtatható program és egy core file megadásával:

gdb program core

A core file helyett megadható egy process azonosító második argumentumként, ha egy már futó programban kell hibát keresni:

gdb program 1234

ez a parancs hozzáköti a GDB-t a 1234-as folyamathoz (hacsak nincs már egy `1234' nevű file; a GDB először a core file jelenlétét ellenőrzi).

Alant a leggyakrabban szükséges GDB parancsok találhatók:

break [file:]függvény
Töréspontot állít be a függvény elé (a file-ban).
run [argumentum lista]
Elindítja a programot (argumentum listával, ha meg lett adva).
bt
Visszakövetés: kiírja a programvermet.
print kifejezés
Kiírja egy kifejezés értékét.
c
A program futásának folytatása (megállás után, pl. töréspontnál).
next
A következő programsor futtatása (megállás után); átlépi a sorban levő függvényhívást.
step
A következő programsor futtatása (megállás után); belép a sorban levő függvénybe.
help [név]
Súgót ír ki a név nevű GDB parancsról, vagy általános információt a GDB használatáról.
quit
Kilép a GDB-ből.

Részletekbe menő információkért lásd: Richard M. Stallman és Roland H. Pesch: Using GDB: A Guide to the GNU Source-Level Debugger. A könyv elérhető online az info program gdb címszavaként.

OPCIÓK

Bármely olyan argumentum, amely nem opció, egy futtatható fájlt és egy core file-t (vagy folyamat azonosítót) határoz meg; azaz az első olyan argumentum, amelyhez nem kötődik opció, megegyzik a `-se' opcióval, és a második, ha van ilyen, megegyezik a `-c' opcióval, ha van ilyen nevű file. Sok opciónak van hosszú és rövid formája, itt mindkettőt megadtuk. A hosszú opciók csonkított formában is elfogadhatóak, amennyiban a hosszuk elegendő az egyértelmű azonosításhoz. (Ha úgy tetszik, az opció jelölhető `+'-szal `-' helyett, de mi itt a megszokottabb jelölést használjuk.)

A GDB egymás után dolgozza fel az összes opciót és parancssori argumentumot. Számít a sorrend, ha a `-x' opció is szerepel.

-help
-h
Felsorolja az összes opciót rövid magyarázattal.

-s file
A file nevű fájlból olvassa be a szimbólum táblát.

-write
A futtatható és a core fájlba történő írás engedélyezése.

-e file
A file nevű fájlt hsználja futtathatóként amennyiben az arra alkalmas, és egy core dumppal kapcsolatban nyers adatként.

-se=file
A szimbólum táblát a file nevű fájlból veszi, és használja ugyan ezt a fájlt, futtathatóként.

-c file
Használja a file nevű fájlt core dump-nak.

-x file
A GDB parancsokat a file nevű fájlból olvassa.

-d directory
Adja hozzá a katalógus katalógust az elérési útvonalhoz forrásfile-ok kereséséhez.
-nx
-n
Ne futtassa a `.gdbinit' inicializációs fájlban levő parancsokat. Ebben a fájlban levő parancsok a parancssori argumentumok feldolgozása után hajtódnak végre.

-quiet
-q
``Csöndes''. Nem írja ki a bevezető és szerzői joggal kapcsolatos üzeneteket. Ezek a üzenetek szintén nem íródnak ki kötegelt feldolgozás során.

-batch
Kötegelt feldolgozás. A program 0-s értékkel lép ki az `-x'-szel megadott parancsfile-ok (és a `.gdbinit' file, ha nincs letiltva) feldolgozása után. Nem-nulla értékkel akkor lép ki, ha hiba következik be parancsfile-okban található GDB parancsok végrehajtásakor.

A kötegelt feldolgozás akkor lehet hasznos, ha a GDB szűrőként fut, például hogy letöltsön és futtasson egy programot egy másik számítógépen. Azért, hogy ez használhatóbb legyen, a

Program exited normally.

üzenet (amely rendszerint akkor íródik ki, amikor egy GDB által futtatott program kilép) nem íródik ki kötegelt feldolgozáskor.

-cd=katalógus
A GDB munkakatalógusa a katalógus legyen a jelenlegi helyett.

-fullname
-f
Az Emacs állítja be ezt az opciót, amikor alfolyamatként futtatja a GDB-t. Ez arra készteti a GDB-t, hogy kiírja a teljes file nevet és sorszámot szabványos, felismerhető formában minden alkalommal, amikor egy verem keret kiíródik (amelybe beleértendő minden alkalom, amikor a program megáll). Ez a felismerhető formátum a következőképpen néz ki: két ` 32' karakter, amelyeket a file neve, a sor sorszáma és a karakter helye követ kettőspontokkal elválasztva, majd egy újsor karakter. Az Emacs-GDB csatolóprogram a két ` 32' karaktert használja jelként a keret forráskódjának kiírásához.

-b bps
Beállítja a soros csatoló vonali sebességét (baud szint vagy bit per másodperc), amelyet a GDB használ távoli hibakereséshez.

-tty=eszköz
A eszköz eszközt használja szabványos bemenetként és kimenetként.

LÁSD MÉG

Az info program `gdb' címszavaként; Richard M. Stallman and Roland H. Pesch: Using GDB: A Guide to the GNU Source-Level Debugger, 1991 július.

MÁSOLÁS

Copyright (c) 1991 Free Software Foundation, Inc.

Megadjuk az engedélyt ezen kéziköny szó szerinti másolatainak létrehozására és terjesztésére, amennyiben a szerzői jog címke és ez az engedély a másolatokon is szerepel.

Megadjuk az engedélyt ezen kéziköny módosított másolatainak létrehozására és terjesztésére a szó szerinti másolatokra vonatkozó feltételekkel, amennyiben a módosítások eredményeképpen létrejövő kézikönyvet egy ezzel azonos engedély alatt terjesztik.

Megadjuk az engedélyt ezen kéziköny más nyelvekre lefordított változatainak másolására és terjesztésére a fenti, módosításra vonatkozó feltételekkel, kivéve, hogy ezen engedélynek a Free Software Foundation által jóváhagyott fordítása szerepelhet az eredeti angol nyelvű változat helyett. Szakács Gergely Márton <case@fornax.hu>

1991 nov. 4. GNU Eszközök