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.

-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.

  MAGYAR FORDÍTÁS
Szakács Gergely Márton <case@fornax.hu>