.\" {PTM/PB/0.1/02-10-1998/"Debugger GNU"}
.\" Copyright (c) 1991 Free Software Foundation
.\" See section COPYING for conditions for redistribution
.\" $Id: gdb.1,v 1.4 2001/06/14 08:43:12 wojtek2 Exp $
.\" Translation (c) 1998 Przemek Borys <pborys@p-soft.silesia.linux.org.pl>
.TH gdb 1 "4nov1991" "Narzędzia GNU" "Narzędzia GNU"
.SH NAZWA
gdb \- Debugger GNU
.SH SKŁADNIA
.na
.TP
.B gdb
.RB "[\|" \-help "\|]"
.RB "[\|" \-nx "\|]"
.RB "[\|" \-q "\|]"
.RB "[\|" \-batch "\|]"
.RB "[\|" \-cd=\c
.I dir\c
\|]
.RB "[\|" \-f "\|]"
.RB "[\|" "\-b\ "\c
.IR bps "\|]"
.RB "[\|" "\-tty="\c
.IR dev "\|]"
.RB "[\|" "\-s "\c
.I symfile\c
\&\|]
.RB "[\|" "\-e "\c
.I prog\c
\&\|]  
.RB "[\|" "\-se "\c
.I prog\c
\&\|]
.RB "[\|" "\-c "\c
.I core\c
\&\|]
.RB "[\|" "\-x "\c
.I cmds\c
\&\|]
.RB "[\|" "\-d "\c
.I dir\c
\&\|]
.RB "[\|" \c
.I prog\c
.RB "[\|" \c
.IR core \||\| procID\c
\&\|]\&\|]
.ad b
.SH OPIS
\fI Uwaga! To tłumaczenie może być nieaktualne!\fP
.PP
Celem [istnienia] debuggera takiego jak GDB jest umożliwienie ci oglądania,
co dzieje się ``w środku'' innego programu podczas jego wykonywania się
\em\&lub 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:

.TP
\ \ \ \(bu
Uruchomić program, podając wszystko, co może dotyczyć jego zachowania.

.TP
\ \ \ \(bu
Doprowadzić do zatrzymania programu przy określonych warunkach.

.TP
\ \ \ \(bu
Sprawdzić co się stało po zatrzymaniu programu.

.TP
\ \ \ \(bu
Zmienić rzeczy w programie tak, że możesz eksperymentować z poprawianiem
efektów jednej usterki, aby przejść dalej i dowiedzieć się czegoś o reszcie.
.PP

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 \c
.B gdb\c
\&.  Po uruchomieniu, odczytuje komendy z terminala, aż nie powiesz mu, że
kończysz pracę, korzystając z komendy \c
.B quit\c
\&.  Możesz uzyskać pomoc on-line z samego \c
.B gdb\c
\& , wpisując komendę \c
.B help\c
\&.

Możesz uruchomić \c
.B gdb\c
\& bez argumentów lub opcji; jednak najpopularniejszym sposobem uruchomienia
GDB jest jeden lub dwa argumenty, określające program wykonywalny jako
argument:
.sp
.br
gdb\ program
.br
.sp

Możesz także uruchomić GDB zarówno z plikiem wykonywalnym, jak i z jego
plikiem core:
.sp
.br
gdb\ program\ core
.br
.sp

Zamiast tego, możesz podać ID procesu (PID) jako kolejny argument. Robi się
tak, kiedy chcesz debuggować pracujący proces:
.sp
.br
gdb\ program\ 1234
.br
.sp

podłączy GDB do procesu \c
.B 1234\c
\& (chyba że posiadasz plik nazwany `\|\c
.B 1234\c
\&\|'; GDB szuka najpierw pliku core).

Oto kilka z najczęściej używanych komend GDB:
.TP
.B break \fR[\|\fIfile\fB:\fR\|]\fIfunction
\&
Ustaw breakpoint na funkcji \c
.I function\c
\& (w pliku \c
.I file\c
\&).
.TP
.B run \fR[\|\fIarglist\fR\|]
Uruchom program (z listą argumentów \c
.I arglist\c
\&, jeśli zostanie podana).
.TP
.B bt
Backtrace: wyświetl stos programu.
.TP
.BI print " expr"\c
\&
Wydrukuj wartość wyrażenia.
.TP
.B c
Kontynuuj wykonywanie programu (po zastopowaniu, np. na breakpointcie).
.TP
.B next
Wykonaj następną linię programu (po zastopowaniu); \c
.I pomiń\c
\& wszystkie [rozwinięcia] wywołań funkcji w linii.
.TP
.B step
Wykonaj następną linię programu (po zastopowaniu); \c
.I rozwiń\c
\& każde wywołanie funkcji w linii.
.TP
.B help \fR[\|\fIname\fR\|]
Pokaż dane o komendzie GDB \c
.I name\c
\&, lub ogólne informacje o użyciu GDB.
.TP
.B quit
Zakończ pracę z GDB.
.PP
Jeśli interesują cię pełne detale obsługi GDB, zobacz \c
.I 
Using GDB: A Guide to the GNU Source-Level Debugger\c
\&, Richarda M. Stallmana i Rolanda H. Pescha. Tenże tekst jest dostępny
online jako wpis
.B gdb\c
\& programu \c
.B info\c
\& .
.SH 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ą `\|\c
.B \-se\c
\&\|' , a drugi jest równoważny z opcją `\|\c
.B \-c\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 `\|\c
.B +\c
\&\|' zamiast `\|\c
.B \-\c
\&\|', 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
`\|\c
.B \-x\c
\&\|' .

.TP
.B \-help
.TP
.B \-h
Wylistuj wszystkie opcje, wraz z krótkimi opisami.

.TP
.BI "\-symbols=" "file"\c
.TP
.BI "\-s " "file"\c
\&
Odczytaj tablicę symboli z pliku \c
.I file\c
\&.

.TP
.BI "\-exec=" "file"\c
.TP
.BI "\-e " "file"\c
\&
Użyj pliku \c
.I file\c
\& jako pliku wykonywalnego do wykonania kiedy potrzeba i do
testowania czystych danych w połączeniu ze zrzutem core.

.TP
.BI "\-se=" "file"\c
\&
Odczytaj tablicę symboli z pliku \c
.I file\c
\& i użyj go jako plik wykonywalny.

.TP
.BI "\-core=" "file"\c
.TP
.BI "\-c " "file"\c
\&
Użyj pliku \c
.I file\c
\& jako zrzut core do porównania.

.TP
.BI "\-command=" "file"\c
.TP
.BI "\-x " "file"\c
\&
Wywołaj komendy GDB z pliku \c
.I file\c
\&.  

.TP
.BI "\-directory=" "directory"\c
.TP
.BI "\-d " "directory"\c
\&
Dodaj katalog \c
.I directory\c
\& do ścieżki przeszukiwania plików źródłowych.
.PP

.TP
.B \-nx
.TP
.B \-n
Nie wywołuj komend z żadnego z plików inicjalizacyjnych `\|\c
.B .gdbinit\c
\&\|' .
Normalnie, komendy z tych plików są wykonywane zaraz po przetworzeniu
wszystkich argumentów linii komend.


.TP
.B \-quiet
.TP
.B \-q
``Cicho''.  Nie drukuj wiadomości wprowadzających i o prawach kopiowania. Te
wiadomości sa także hamowane w trybie wsadowym.

.TP
.B \-batch
Uruchom w trybie wsadowym. Zakończ ze statusem \c
.B 0\c
\& po przetworzeniu wszystkich plików komend podanych w `\|\c
.B \-x\c
\&\|' (i `\|\c
.B .gdbinit\c
\&\|', 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ść
.sp
.br
Program\ exited\ normally.
.br
.sp

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

.TP
.BI "\-cd=" "directory"\c
\&
Uruchom GDB, używając katalogu \c
.I directory\c
\& jako swojego katalogu roboczego, zamiast bieżącego katalogu.

.TP
.B \-fullname
.TP
.B \-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 `\|\c
.B \032\c
\&\|' 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 `\|\c
.B \032\c
\&\|' jako sygnałów do wyświetlenia kodu źródłowego dla klatki.

.TP
.BI "\-b " "bps"\c
\&
Ustaw szybkość linii (baud, lub bity na sekundę) dowolnego interfejsu
szeregowego, używanego przez GDB dla zdalnego debuggowania.

.TP
.BI "\-tty=" "device"\c
\&
Uruchom się, używając urządzenia \c
.I device\c
\& jako standardowego wejścia i wyjścia programu.
.PP

.SH "ZOBACZ TAKŻE"
Wpis
.RB "`\|" gdb "\|'"
w
.B info\c
\&;
.I 
Using GDB: A Guide to the GNU Source-Level Debugger\c
, Richard M. Stallman i Roland H. Pesch, July 1991.
.SH KOPIOWANIE
(Autor nie życzy sobie tłumaczenie poniższej noty bez zatwierdzenia ze
strony FSF)
.PP
Copyright (c) 1991 Free Software Foundation, Inc.
.PP
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.
.PP
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.
.PP
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.
.SH "INFORMACJE O TŁUMACZENIU"
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i 
\fImoże nie być aktualne\fR. 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:
.IP
man \-\-locale=C 1 gdb
.PP
Prosimy o pomoc w aktualizacji stron man \- więcej informacji można znaleźć pod
adresem http://sourceforge.net/projects/manpages\-pl/.
