Manpages

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 [AT] fornax.hu>