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 |