NAZWA¶
gdb - Debugger GNU
SKŁADNIA¶
- 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]]
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
Celem [istnienia] debuggera takiego jak GDB jest umożliwienie ci
oglądania, co dzieje się ``w środku'' innego programu podczas
jego wykonywania się \mlub co inny program robił w momencie padu.
GDB może robić cztery podstawowe rzeczy (plus inne rzeczy,
wspierające te), które mogą być pomocne w wychwytywaniu
usterek:
- •
- Uruchomić program, podając wszystko, co może
dotyczyć jego zachowania.
- •
- Doprowadzić do zatrzymania programu przy
określonych warunkach.
- •
- Sprawdzić co się stało po zatrzymaniu
programu.
- •
- Zmienić rzeczy w programie tak, że możesz
eksperymentować z poprawianiem efektów jednej usterki, aby
przejść dalej i dowiedzieć się czegoś o
reszcie.
Możesz używac GDB do debuggowania programów napisanych w C, C++ i
Modula-2. Wsparcie dla fortrana zostanie dodane kiedy zostanie ukończony
jego kompilator GNU.
GDB wywołuje się poleceniem powłoki
gdb. Po uruchomieniu,
odczytuje komendy z terminala, aż nie powiesz mu, że kończysz
pracę, korzystając z komendy
quit. Możesz uzyskać
pomoc on-line z samego
gdb , wpisując komendę
help.
Możesz uruchomić
gdb bez argumentów lub opcji; jednak
najpopularniejszym sposobem uruchomienia GDB jest jeden lub dwa argumenty,
określające program wykonywalny jako argument:
gdb program
Możesz także uruchomić GDB zarówno z plikiem wykonywalnym,
jak i z jego plikiem core:
gdb program core
Zamiast tego, możesz podać ID procesu (PID) jako kolejny argument.
Robi się tak, kiedy chcesz debuggować pracujący proces:
gdb program 1234
podłączy GDB do procesu
1234 (chyba że posiadasz plik
nazwany `
1234'; GDB szuka najpierw pliku core).
Oto kilka z najczęściej używanych komend GDB:
- break [file:]function
- Ustaw breakpoint na funkcji function (w pliku
file).
- run [arglist]
- Uruchom program (z listą argumentów
arglist , jeśli zostanie podana).
- bt
- Backtrace: wyświetl stos programu.
- print expr
- Wydrukuj wartość wyrażenia.
- c
- Kontynuuj wykonywanie programu (po zastopowaniu, np. na
breakpointcie).
- next
- Wykonaj następną linię programu (po
zastopowaniu); pomiń wszystkie [rozwinięcia]
wywołań funkcji w linii.
- step
- Wykonaj następną linię programu (po
zastopowaniu); rozwiń każde wywołanie funkcji w
linii.
- help [name]
- Pokaż dane o komendzie GDB name, lub
ogólne informacje o użyciu GDB.
- quit
- Zakończ pracę z GDB.
Jeśli interesują cię pełne detale obsługi GDB, zobacz
Using GDB: A Guide to the GNU Source-Level Debugger, Richarda M.
Stallmana i Rolanda H. Pescha. Tenże tekst jest dostępny online jako
wpis
gdb programu
info .
OPCJE¶
Dowolne argumenty inne niż opcje określają plik wykonywalny i
plik core (lub ID procesu); tj. pierwszy argument, który jest napotkany
bez związanej flagi opcji jest równoważny z opcją
`
-se ' , a drugi jest równoważny z opcją `
-c'
jeśli jest to nazwa pliku. Wiele opcji ma zarówno długie, jak i
krótkie formy; tu pokazane są obydwie. Długie formy są
także rozpoznawane, jeśli skrócisz je do długości, w
której opcja pozostaje rozstrzygalna. (jeśli wolisz, możesz
flagować argumenty opcyjne używając `
+' zamiast
`
- ', choć opisujemy bardziej tradycyjną konwencję.)
Wszystkie opcjie i argumenty linii komend, które podajesz, są
przetwarzane w sekwencyjnej kolejności. kolejność powoduje
różnicę, jeśli zostanie użyta opcja `
-x' .
- -help
- -h
- Wylistuj wszystkie opcje, wraz z krótkimi opisami.
- -symbols=file
- -s file
- Odczytaj tablicę symboli z pliku file.
- -exec=file
- -e file
- Użyj pliku file jako pliku wykonywalnego do
wykonania kiedy potrzeba i do testowania czystych danych w
połączeniu ze zrzutem core.
- -se=file
- Odczytaj tablicę symboli z pliku file i
użyj go jako plik wykonywalny.
- -core=file
- -c file
- Użyj pliku file jako zrzut core do
porównania.
- -command=file
- -x file
- Wywołaj komendy GDB z pliku file.
- -directory=directory
- -d directory
- Dodaj katalog directory do ścieżki
przeszukiwania plików źródłowych.
- -nx
- -n
- Nie wywołuj komend z żadnego z plików
inicjalizacyjnych `.gdbinit' . Normalnie, komendy z tych
plików są wykonywane zaraz po przetworzeniu wszystkich
argumentów linii komend.
- -quiet
- -q
- ``Cicho''. Nie drukuj wiadomości wprowadzających
i o prawach kopiowania. Te wiadomości sa także hamowane w trybie
wsadowym.
- -batch
- Uruchom w trybie wsadowym. Zakończ ze statusem
0 po przetworzeniu wszystkich plików komend podanych w
`-x ' (i `.gdbinit', jeśli go nie wyłączono).
Zakończ ze statusem niezerowym jeśli pojawił się
błąd w wywołaniu komend GDB z plików komend.
Tryb wsadowy może być użyteczny do uruchamiania GDB jako
filtru, np. do załadowania i uruchomienia programu na innym
komputerze; w celu uczynienia tego bardziej użytecznym,
wiadomość
Program exited normally.
(która jest normalnie produkowana za każdym razem, gdy program
działający pod kontrolą GDB kończy pracę) nie
jest wyświetlana w trybie wsadowym.
- -cd=directory
- Uruchom GDB, używając katalogu directory
jako swojego katalogu roboczego, zamiast bieżącego katalogu.
- -fullname
- -f
- Emacs ustawia tę opcję kiedy uruchamia GDB jako
podproces. Mówi GDB aby produkował pełną nazwę
pliku i numer linii w standardowym, rozpoznawalnym stylu za każdym
razem gdy wyświetlana jest klatka stosu (która jest
załączana przy każdym zatrzymaniu programu). Ten
rozpoznawalny program wygląda jak dwa znaki ` 32' za
którymi następuje nazwa pliku, numer linii i pozycja znakowa,
oddzielona dwukorpkami i nową linią. Interfejs Emacs-do-GDB
używa dwóch znaków ` 32' jako
sygnałów do wyświetlenia kodu źródłowego dla
klatki.
- -b bps
- Ustaw szybkość linii (baud, lub bity na
sekundę) dowolnego interfejsu szeregowego, używanego przez GDB
dla zdalnego debuggowania.
- -tty=device
- Uruchom się, używając urządzenia
device jako standardowego wejścia i wyjścia
programu.
ZOBACZ TAKŻE¶
Wpis `
gdb' w
info;
Using GDB: A Guide to the GNU Source-Level
Debugger, Richard M. Stallman i Roland H. Pesch, July 1991.
KOPIOWANIE¶
(Autor nie życzy sobie tłumaczenie poniższej noty bez
zatwierdzenia ze strony FSF)
Copyright (c) 1991 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this manual
provided the copyright notice and this permission notice are preserved on all
copies.
Permission is granted to copy and distribute modified versions of this manual
under the conditions for verbatim copying, provided that the entire resulting
derived work is distributed under the terms of a permission notice identical
to this one.
Permission is granted to copy and distribute translations of this manual into
another language, under the above conditions for modified versions, except
that this permission notice may be included in translations approved by the
Free Software Foundation instead of in the original English.
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
Tłumaczenia Manuali i
może nie być aktualne. W razie
zauważenia różnic między powyższym opisem a
rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
zapoznanie się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
- man --locale=C 1 gdb
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.