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>