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.
- -symbols=file
- -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.
- -exec=file
- -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.
- -core=file
- -c file
- Használja a file nevű fájlt core
dump-nak.
- -command=file
- -x file
- A GDB parancsokat a file nevű
fájlból olvassa.
- -directory=katalógus
- -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>