GDB(1) GNU fejlesztői eszközök GDB(1)

gdb - A GNU hibakereső

ÖSSZEGZÉS

gdb [-help] [-nh] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps]
[-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-p procID]
[-x cmds] [-d dir] [prog|prog procID|prog core]

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++, Fortran és Modula-2 nyelvű programok hibáinak keresésére használható.

GDB is invoked with the shell command "gdb". Once started, it reads commands from the terminal until you tell it to exit with the GDB command "quit". You can get online help from GDB itself by using the command "help".

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

You can, instead, specify a process ID as a second argument or use option "-p", if you want to debug a running process:

gdb program 1234  gdb -p 1234

would attach GDB to process 1234. With option -p you can omit the program filename.

Alant a leggyakrabban szükséges GDB parancsok találhatók:

Töréspontot állít be a függvény elé (a fájl-ban).
Elindítja a programot ( argumentum listá val, ha meg lett adva).
Visszakövetés: kiírja a programvermet.
Kiírja egy kifejezés értékét.
A program futásának folytatása (megállás után, pl. töréspontnál).
A következő programsor futtatása (megállás után); átlépi a sorban levő függvényhívást.
look at the program line where it is presently stopped.
type the text of the program in the vicinity of where it is presently stopped.
A következő programsor futtatása (megállás után); belép a sorban levő függvénybe.
Súgót ír ki a név nevű GDB parancsról, vagy általános információt a GDB használatáról.
Kilép a GDB-ből.

For full details on GDB, see Using GDB: A Guide to the GNU Source-Level Debugger, by Richard M. Stallman and Roland H. Pesch. The same text is available online as the "gdb" entry in the "info" program.

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.

Felsorolja az összes opciót rövid magyarázattal.
A fájl nevű fájlból olvassa be a szimbólum táblát.
Enable writing into executable and core files.
A fájl nevű fájlt hsználja futtathatóként amennyiben az arra alkalmas, és egy core dumppal kapcsolatban nyers adatként.
A szimbólum táblát a fájl nevű fájlból veszi, és használja ugyan ezt a fájlt, futtathatóként.
Használja a fájl nevű fájlt core dump-nak.
A GDB parancsokat a fájl nevű fájlból olvassa.
Execute given GDB command.
Add directory to the path to search for source files.
Do not execute commands from ~/.config/gdb/gdbinit, ~/.gdbinit, ~/.config/gdb/gdbearlyinit, or ~/.gdbearlyinit
Do not execute commands from any .gdbinit or .gdbearlyinit initialization files.
"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.
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.

Run GDB using directory as its working directory, instead of the current directory.
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 \032 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 \032 karaktert használja jelként a keret forráskódjának kiírásához.
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.
A eszköz eszközt használja szabványos bemenetként és kimenetként.

The full documentation for GDB is maintained as a Texinfo manual. If the "info" and "gdb" programs and GDB's Texinfo documentation are properly installed at your site, the command

info gdb

should give you access to the complete manual.

Using GDB: A Guide to the GNU Source-Level Debugger, Richard M. Stallman and Roland H. Pesch, July 1991.

Copyright (c) 1988-2022 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being "Free Software" and "Free Software Needs Free Documentation", with the Front-Cover Texts being "A GNU Manual," and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: "You are free to copy and modify this GNU Manual. Buying copies from GNU Press supports the FSF in developing GNU and promoting software freedom."

A kézikönyv magyar fordítását a Szakács Gergely Márton <case@fornax.hu> készítette.

Ez a fordítás ingyenes dokumentáció; lásd a GNU General Public License 3. Vagy újabb verzióját a szerzői jogi feltételekkel kapcsolatban. Feltételezzük, hogy NEM FELELŐSSÉG.

Ha hibát talál a kézikönyv oldal fordításában, küldje el a e-mail cím: TODO..

2022. január 16 gdb-11.2