wydanie debuggera , obsługującego debugowanie na poziomie źródłowym dla szerokiego zakresu języków programowania (Ada, C, C++, Objective-C, Pascal, Go itp.) na różnych platformach sprzętowych (i386, amd64, ARM, Power, Sparc, RISC-V itp.) i programowych (GNU/Linux, *BSD, Unix, Windows, macOS).
Kluczowe :
- W interfejsach CLI i TUI wprowadzono możliwość określenia stylu terminala (dodana komenda „set style”). Przy obecności GNU Highlight zaimplementowano podświetlanie kodu źródłowego;
- Wdrażane jest eksperymentalne wsparcie dla kompilacji i podstawiania kodu źródłowego w języku C++ w proces kontrolowany przez GDB
(). Aby to działało, wymagana jest co najmniej wersja GCC 7.1 zbudowana z libcp1.so; - W GDB i GDBserver dodano wsparcie dla IPv6. Do określania adresów IPv6 należy używać formatu „[ADDRESS]:PORT”;
- Dla systemów docelowych RISC-V dodano wsparcie opisu celu w formacie XML ();
- Na platformie FreeBSD zapewniono wsparcie dla ustawiania punktów przechwytywania
(catchpoint) na wywołania systemowe, używając ich aliasów specyficznych dla różnych ABI (na przykład dla ‘kevent’ dostępny jest alias ‘freebsd11_kevent’ do powiązania ze starszym ABI); - Do komendy „target remote” dodano wsparcie dla gniazd Unix (Unix Domain socket);
- Dodano możliwość wyświetlania wszystkich plików otwartych przez proces (komenda „info proc files”);
- Wprowadzono możliwość automatycznego zapisywania na dysk indeksów symboli DWARF w celu przyspieszenia późniejszego ładowania tego samego pliku wykonywalnego;
- W GDBserver dla platformy PowerPC GNU/Linux dodano wsparcie dostępu do rejestrów PPR, DSCR, TAR, EBB/PMU i HTM;
- Dodano nowe komendy „set/show debug compile-cplus-types” oraz
„set/show debug skip” do konfigurowania wyjścia danych dotyczących transformacji typów C++ oraz informacji o pomijanych plikach i funkcjach; - Dodano komendy „frame apply COMMAND”, „taas COMMAND”, „faas COMMAND”, „tfaas COMMAND” do stosowania komend do ramki stosu i wątków;
- Wprowadzono ulepszenia w komendach „frame”, „select-frame”, „info frame”,
— „info functions”, „info types”, „info variables”, „info thread”, „info proc”; - Podczas uruchamiania w trybie wsadowym GDB teraz zwraca kod błędu 1 w przypadku niepowodzenia ostatniej komendy;
- Dodano możliwość budowania GDB z dostarczanym detektorem nieokreślonego zachowania GCC (Undefined Behavior Sanitizer);
- Dodano ustawienia systemu bazowego (native configuration, do debugowania na tej samej systemie) dla platform RISC-V GNU/Linux (riscv*-*-linux*) oraz RISC-V FreeBSD (riscv*-*-freebsd*);
- Dodano ustawienia systemów docelowych (target configuration): CSKY ELF (csky*-*-elf), CSKY GNU/Linux (csky*-*-linux), NXP S12Z ELF (s12z-*-elf), OpenRISC GNU/Linux (or1k*-*-linux*), RISC-V GNU/Linux (riscv*-*-linux*) i RISC-V FreeBSD (riscv*-*-freebsd*);
- Debugowanie na tym samym systemie w Windows teraz wymaga posiadania Windows XP lub nowszej wersji;
- Aby korzystać z API Pythona, teraz wymagana jest wersja Python 2.6 lub wyższa.
Źródło: opennet.ru
