GDB

Screenshot Software:
GDB
Szczegóły programowe:
Wersja: 8.1.1 Aktualizowane
Filmu: 16 Aug 18
Wywoływacz: Stan Shebs
Licencja: Wolny
Popularność: 286

Rating: 4.0/5 (Total Votes: 3)

GDB (znany także jako Debugger Projektu GNU) to otwarte oprogramowanie z wolnym dostępem do wiersza poleceń, które pozwala użytkownikom i programistom zobaczyć, co dzieje się wewnątrz innego programu, podczas gdy wykonane lub dlaczego aplikacja ulega awarii w określonym punkcie.


Funkcje na pierwszy rzut oka

Najważniejsze cechy to cztery różne techniki, które pomogą programistom wykryć błędy w działaniu, uruchomić aplikację i określić wszystko, co może wpłynąć na jej zachowanie, sprawić, by program zatrzymywał się w określonych warunkach, sprawdzać dzienniki, gdy aplikacja uległa awarii, stopniowo zmieniać rzeczy. program do eksperymentowania z korektą efektów jednego problemu i kontynuowania nauki na temat innego błędu. Obsługuje także debugowanie programów napisanych w szerokim zakresie języków programowania, w tym C, C ++, Pascal , Ada, Objective-C i wiele innych.

Jest to aplikacja wiersza polecenia

Debugger Projektu GNU to zawsze będzie aplikacja wiersza poleceń. Aby go użyć, musisz uruchomić & bdquo; gdb & rdquo; polecenie w emulatorze terminala, a następnie wykonaj komendę & bdquo; help & rdquo; polecenie (bez cudzysłowów) a monit gdb. Ponadto możesz także wpisać & bdquo; help all & rdquo; Polecenie, aby wyświetlić listę wszystkich poleceń, wpisz "help", a następnie nazwę polecenia, aby wyświetlić pełną dokumentację, wpisz "help", a następnie nazwę klasy, aby wyświetlić listę poleceń w tej klasie, aby wpisać "słowo apropos" do wyszukiwania dla poleceń związanych z "słowem."


Lista klas poleceń

Po wpisaniu & bdquo; help & rdquo; polecenie opisane powyżej, pojawi się lista klas poleceń, w tym aliasy (wyświetla aliasy innych poleceń), punkty przerwania (powoduje zatrzymanie programu w określonych punktach), dane (do sprawdzania danych), pliki (do sprawdzania plików) , internals (polecenia konserwacyjne), niejasne (niejasne funkcje), działa (dla uruchomienia programu), stos (do zbadania stosu), status (dla zapytań o status), wsparcie (dla obiektów wsparcia), tracepoints (do śledzenia realizacji programu bez zatrzymanie programu) i zdefiniowane przez użytkownika (polecenia zdefiniowane przez użytkownika).

Obsługiwane platformy sprzętowe i systemy operacyjne

GDB został zaprojektowany z offsetu jako aplikacja wieloplatformowa, działająca w popularnych systemach operacyjnych, takich jak Microsoft Windows i niektóre z najbardziej popularnych wariantów systemu Linux / UNIX. Jest obsługiwany na 32-bitowych i 64-bitowych platformach sprzętowych.

Co nowego w tej wersji:

  • PR gdb / 22824 (wprowadzający w błąd opis nowej funkcji Ryth Python w pliku GDB 8.1 NEWS)
  • PR gdb / 22849 (ctrl-c nie działa w rozszerzonym-zdalnym)
  • PR gdb / 22907 ([Regresja] gdbserver nie działa z plikami binarnymi tylko na podstawie nazwy pliku)
  • PR gdb / 23028 (niespójne zdemontowanie vcvtpd2dq)
  • PR gdb / 23053 (Fix -D_GLIBCXX_DEBUG regresja gdb-add-index)
  • PR gdb / 23127 ([AArch64] GDB nie może być używany do debugowania oprogramowania używającego wysokich adresów wirtualnych)
  • Serwer PR / 23158 (gdbserver nie działa już w systemie Windows)
  • Punkty przerwania PR / 23210 ([8.1 / 8.2 Regresja] Adres punktu przerwania dostosowany od 0xf7fe7dd3 do 0xfffffffff7fe7dd3)

Co nowego w wersji 8.1:

  • Punkty przerwania w funkcjach C ++ są teraz domyślnie ustawione na wszystkich zakresach ("dzikie" dopasowanie);
  • Obsługa wstawiania punktów przerwania w funkcjach oznaczonych znacznikami ABI w języku C ++;
  • Celowa emulacja arytmetyczna zmiennoprzecinkowa podczas oceny ekspresji (wymaga MPFR 3.1 lub nowszej);
  • Różne ulepszenia skryptów w Pythonie;
  • Lepsza obsługa rdzy; w szczególności obiekty Trait mogą być teraz sprawdzane podczas debugowania kodu Rust;
  • GDB nie przyjmuje już założeń co do rodzaju symboli bez debugowania informacji, aby uniknąć tworzenia błędnych i często mylących wyników;
  • Polecenia "włącz" i "wyłącz" teraz akceptują zakres punktów przerwania;
  • Nowa komenda "starti" uruchamiająca program przy pierwszej instrukcji;
  • Nowa komenda "rbreak" do wstawiania wielu punktów przerwania za pomocą wzorca regularnego wyrażenia (wymaga Pythona);
  • Polecenie "ptype" obsługuje teraz drukowanie przesunięcia i rozmiaru pól w strukturze;
  • Polecenie "gcore" obsługuje teraz odrzucanie wszystkich mapowań pamięci (opcja wiersza polecenia -a);
  • Nowe skróty dla trybu pojedynczego klawisza TUI: "i" dla stepi i "o" dla nexti;
  • Ulepszenia GDBserver:
  • Obsługa przesyłania zmiennych środowiskowych do GDBserver;
  • Wsparcie w uruchamianiu gorszych procesów za pomocą określonego początkowego katalogu roboczego;
  • W systemach uniksowych obsługa globalizacji i zmienne zastępowanie niższych argumentów wiersza poleceń;
  • Różne ulepszenia ukończenia;
  • Komenda używana do kompilacji i wprowadzania kodu za pomocą polecenia "compile" jest teraz konfigurowalna;
  • Nowa opcja wiersza polecenia "odśwież", aby przyspieszyć uruchamianie GDB, gdy debugowanie informacji nie jest potrzebne;
  • Obsługa następujących nowych konfiguracji natywnych:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / ramię (ramię * - * - freebsd *);
  • Obsługa następujących nowych celów:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / ramię (ramię * - * - freebsd *);
  • OpenRISC ELF (or1k * - * - elf)
  • Usunięto obsługę następujących obiektów docelowych i konfiguracji natywnych:
  • Solaris2 / x86 (i? 86 - * - solaris2. [0-9]);
  • Solaris2 / sparc (sparc * - * - solaris2. [0-9]);

Co nowego w wersji:

  • Budowanie tej wersji GDB wymaga teraz następujących narzędzi:
  • Kompilator C ++ - 11 (na przykład GCC 4.8 lub nowszy);
  • GNU make version 3.81 or later.
  • Zmiany w tym wydaniu obejmują:
  • C ++: Obsługa odwołań rvalue
  • Ulepszenia skryptów w języku Python:
  • Nowe funkcje do uruchamiania, zatrzymywania i uzyskiwania dostępu do uruchomionego nagrania z btrace.
  • Obsługa odwołania do wartości RV w gdb.Type.
  • Interpreter poleceń GDB:
  • Polecenia użytkownika akceptują teraz nieograniczoną liczbę argumentów.
  • "eval" polecenie rozwija teraz argumenty zdefiniowane przez użytkownika.
  • Obsługa DWARF w wersji 5
  • (zwróć uwagę, że jego indeks .debug_names nie jest jeszcze obsługiwany).
  • Ulepszenia GDB / MI:
  • Polecenie New-file-list-shared-libraries, aby wyświetlić listę bibliotek współdzielonych w programie.
  • Polecenie New -target-flash-erase, aby wymazać pamięć flash.
  • Obsługa rodzimych FreeBSD / mips (mips * - * - freebsd)
  • Obsługa następujących celów:
  • Synopsys ARC (arc * - * - elf32)
  • FreeBSD / mips (mips * - * - freebsd)
  • Różne ulepszenia:
  • Przekierowanie z wiersza polecenia jest teraz obsługiwane na hostach MS-Windows.
  • Obsługa nazw wątków w systemie MS-Windows.
  • Obsługa rejestru PKU w systemie GNU / Linux.
  • Obsługa opisów Target na sparc32 i sparc64.
  • Nowe polecenie GDB / CLI do wymazania pamięci flash
  • Obsługa rekordów / powtórek dla rdrand i rdseed.
  • Usunięto obsługę następujących funkcji:
  • Obsługa programów Java skompilowanych z gcj
  • Obsługa następujących konfiguracji:
  • FreeBSD / alpha (alpha * - * - freebsd *)
  • GNU / kFBSBS / alpha (alpha * - * - kfreebsd * -gnu)

Co nowego w wersji 7.9.1:

  • PR build / 18033 (komentarz w stylu C ++ używany w gdb / iq2000-tdep.c i gdb / compile / compile - *. c)
  • Komenda PR build / 18298 ("kompilacja" nie może znaleźć kompilatora, jeśli narzędzia skonfigurowane za pomocą tripletu zamiast kwadratu)
  • PR tui / 18311 (Losowo SEGV przy wyświetlaniu rejestrów w trybie TUI)
  • PR python / 18299 (wyjątek przy rejestracji globalnej ładnej drukarki w trybie szczegółowym)
  • PR python / 18066 (argument "słowo" wydaje się zepsuty w Command.complete (tekst, słowo))
  • PR pascal / 17815 (Napraw zachowanie pascala dla pól klasy z testcase)
  • PR python / 18285 (ptype expr-with-xmethod powoduje SEGV)

Co nowego w wersji 7.9:

  • Ulepszenia skryptów w języku Python.
  • Kompilacja kodu źródłowego i wtrysk do niższego.
  • Nowe polecenia, opcje, zmienne wygody / opcje.
  • Obsługa MIPS SDE (mips * -sde * -elf *).
  • Lepsza obsługa sygnałów podczas debugowania wątkowych programów.

Co nowego w wersji 7.8.2:

  • PR symtab / 17642 ([7.8 regresja] wewnętrzny -error: resolve_dynamic_struct: Asercja `TYPE_NFIELDS (type) & gt; 0 'failed.)
  • PR binutils / 17677 (_bfd_elf_get_synthetic_symtab działa w złożoności O (n ^ 2))
  • PR gdb / 16215 (SPARC: nie można obliczyć CFA dla tej ramki)
  • PR gdb / 17525 (komendy asynchronizacji celu: breakpoint nie są wykonywane po uruchomieniu programu ze skryptu -x)
  • PR cli / 17828 ([7.8 regresja] -batch -ex r breaks terminal)

Co nowego w wersji 7.8.1:

  • PR python / 17364 (Potrzebujesz lepszych nazw drukarek w bound_registers.py)
  • PR build / 17104 (CFLAGS = "-Wall -Wextra" gdb / confgure - z-babeltrace kończy się niepowodzeniem)
  • PR gdb / 17345 (babeltrace (1.1.2 i nowsze) narzeka na dane ctf generowane przez GDB)
  • PR build / 17298 (gcore: nie można uzyskać rejestrów: brak takiego procesu)
  • PR python / 17342 (Xmethod Python nie jest kompatybilny z Pythonem 3)
  • PR python / 17355 (Crash na filtrach ramek Pythona z nieczytelnym arg)
  • PR guile / 17367 (obliczenie błędnej ścieżki gildii, gdy skrypt pkg-config podany jako arg do --with-guile)
  • PR gdb / 17247 (gdb zawiesza się w aplikacji z wieloma gwintami)
  • PR gdb / 17347 (Regresja: GDB zatrzymał się podczas pracy z dołączonym procesem)
  • PR gdb / 17407 (Regresja dla odczytu VDSO w systemie Linux)
  • Serwer PR / 17457 (aarch64 / gdbserver: wyświetlanie błędnych rejestrów zmiennoprzecinkowych)
  • Serwer PR / 17487 (stan- & gt; dr_control_mirror == 0 Asercja nieudanych w gdbserver w systemie Windows)
  • PR gdb / 17472 (z adnotacjami, dane wejściowe podczas wykonywania na pierwszym planie zawiesza readline / gdb)
  • PR gdb / 17471 (powtarzanie polecenia tła czyni go pierwszym planem)
  • PR cli / 17300 (awarie w trybie non-stop przy kontynuacji -a & (readline_callback_read_char () wywołana bez obsługi!))
  • PR python / 17372 (python zawiesza się podczas wyświetlania pomocy ())
  • PR python / 17408 (../../gdb/infrun.c:5256: internal-error: switch_back_to_stepped_thread: Asercja `! schedlock_applies (1) 'nie powiodła się.)

Co nowego w wersji 7.8:

  • Obsługa skryptów guile.
  • Ulepszenia skryptów w języku Python.
  • Nowe polecenia, opcje, zmienne wygody / opcje.
  • Rozszerzenia protokołu zdalnego i rozszerzenia GDBserver.
  • Nowe konfiguracje docelowe (PowerPC64 GNU / Linux little-endian).
  • Ulepszenia btrace.
  • Obsługa automatycznych tablic o zmiennej długości ISO C99.
  • "Porównywane sekcje" polecenie działa teraz we wszystkich celach.
  • "Docelowy natywny" polecenie teraz łączy się z natywnym celem.

Co nowego w wersji 7.7:

  • Rozszerzona obsługa skryptów w języku Python.
  • Niektóre ulepszenia C ++.
  • Nowe polecenia, opcje, zmienne wygody / opcje.
  • Kilka nowych poleceń i ulepszeń GDB / MI.
  • Rozszerzenia protokołu zdalnego i rozszerzenia GDBserver.
  • Nowe konfiguracje docelowe (Nios II, TI MSP430).
  • GDB Windows x64 rozwija obsługę danych.
  • Obsługa sond SDT dla SystemTap na platformie AArch64 GNU / Linux.
  • Obsługa CTF (Common Trace Format).
  • Nowe skrypty gcore i gdb-add-index.sh.
  • Ulepszono obsługę obsługi rekordów / powtórek ramienia *.
  • Usunięto obsługę przestarzałych konfiguracji a.out NetBSD i OpenBSD. Warianty ELF tych konfiguracji są obsługiwane.
  • "Set | show remotebaud" komendy są przestarzałe na rzecz "show serial show bod".

Co nowego w wersji 7.6.2:

  • Punkt przerwania PR / 16251 (błąd punktu przerwania sprzętu AArch64 po widelec)
  • PR gdb / 16303 (GDB 7.6.1 nie działa z binutils 2.24 na MIPS16 i microMIPS)

Co nowego w wersji 7.6.1:

  • PR tdep / 15420 (Nie można debugować programów wątkowych w nowszych wersjach x86-solaris - Solaris 10, aktualizacja 10 lub nowsza)
  • PR remote / 15455 (zepsuty pakiet QTro)
  • PR build / 15476 (Błąd kompilacji z powodu niekompletnego typu wyliczeniowego w utils.h)
  • Serwer PR / 15594 (obsługa tls w 64x32 x86 gdbserver nie rozszerza adresu na 64-bitowy)
  • serwer PR / 15075 (dprintf oznacza "następny")
  • Serwer PR / 15434 (dprintf używa synchronicznego "kontynuuj" nawet w trybie non-stop)
  • PR tui / 14880 (w układach dzielonego rejestru, wyniki w górę w niepowodzeniu asercji w wartości.c)
  • PR c ++ / 15519 (GDB 7.6 jest 94 razy wolniejszy niż GDB 7.5.1 przy użyciu określonego pliku core)
  • PR gdb / 15837 (GDB drukuje wartości wpisów dla zmiennych lokalnych)
  • PR gdb / 15415 (gdb rozwiązuje dowiązania symboliczne podczas przekazywania argv [0])
  • PR cli / 15603 (CTRL-C nie może dłużej przerywać gorszej jakości)
  • PR gdb / 15604 (gdbserver socket leak 7,5 regression)

Co nowego w wersji 7.5:

  • Obsługa języka.
  • Nowe cele (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
  • Więcej ulepszeń skryptów w języku Python.
  • SDT (Static Defined Tracing) obsługuje sondy SystemTap.
  • Udoskonalenia GDBserver (połączenia stdio, ocena warunków przerwania na podstawie strony docelowej, ulepszenia protokołu zdalnego).
  • Inne różne ulepszenia (możliwość zatrzymania, gdy biblioteka współdzielona jest ładowana / rozładowywana, dynamiczny printf itp.).
  • Reverse debugging na ARM.
  • Binarny "gdbtui" został porzucony i nie można go już budować. Użyj "gdb -tui" zamiast tego.

Co nowego w wersji 7.4:

  • Niejednoznaczne linie komórkowe sĘ ... teraz traktowane bardziej konsekwentnie.
  • Nieinteresujące funkcje i pliki można teraz pominąć, wykonując krok za pomocą "funkcji pomijania". i "pominąć plik" polecenia.
  • Dodano polecenia dotyczące ustawiania i uzyskiwania maksymalnego limitu długości zdalnego punktu kontrolnego sprzętu.
  • Znacznie poprawiono obsługę skryptów w języku Python.
  • Wprowadzono wiele innych ulepszeń, poprawek i ogólnych zmian.

Co nowego w wersji 7.1:

  • Obsługa nowych celów (w tym symulatora):
  • Xilinx MicroBlaze
  • Renesas RX
  • Najważniejsze nowe funkcje to:
  • Debugowanie wielu programów, dzięki czemu debuger może kontrolować więcej niż
  • jeden program w ramach tej samej sesji GDB.
  • Debugowanie niezależnego odczytywania pozycji (PIE).
  • Zawiera również wiele ulepszeń i poprawek, w tym:
  • Obsługa języka Python została rozszerzona.
  • Udoskonalenia wsparcia C ++ (przestrzeń nazw, operatory rzutowania, poprawki błędów)
  • Udoskonalenia obsługi Tracepoint.
  • Udoskonalono zapis procesu (dziennik wykonania zapisu / przywracania, sprzęt
  • )
  • Obsługa punktów obserwacyjnych).
  • Rozszerzenia protokołu zdalnego (debugowanie jądra systemu Linux, nowe pakiety
  • w przypadku obsługi wątku)

Podobne oprogramowanie

Splint
Splint

3 Jun 15

PyChecker
PyChecker

11 May 15

UpStare
UpStare

20 Feb 15

WingDBG
WingDBG

20 Feb 15

Inne programy z deweloperem Stan Shebs

Xconq
Xconq

2 Jun 15

Komentarze do GDB

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!