wydanie debuggera (pierwsze wydanie serii 9.x, gałąź 9.0 była wykorzystywana do rozwoju). GDB wspiera debugowanie na poziomie kodu źródłowego dla szerokiego zakresu języków programowania (Ada, C, C++, Objective-C, Pascal, Go itd.) na różnych platformach sprzętowych (i386, amd64, ARM, Power, Sparc, RISC-V itd.) oraz platformach programowych (GNU/Linux, *BSD, Unix, Windows, macOS).
Kluczowe :
- Wsparcie dla platform Solaris 10 i Cell Broadband Engine zostało zakończone;
- Dodano nowy symulator podsystemu PRU (Programmable Real-time Unit), wykorzystywanego w procesorach Texas Instruments (pru-*-elf);
- Dodano eksperymentalny tryb szybkiego ładowania symboli debugowania w trybie wielowątkowym (włączany przez ustawienie 'maint set worker-threads unlimited');
- Zrealizowano możliwość używania symbolu '.' w nazwach poleceń;
- Dodano możliwość ustawiania punktów przerwania w zagnieżdżonych funkcjach i podprogramach w Fortranie;
- Przeprowadzono prace nad ujednoliceniem stylu i poprawą czytelności poleceń;
- Zrealizowano standardową infrastrukturę do przesyłania argumentów poleceń z zastosowaniem symbolu myślnika ('-OPT'), co umożliwia stosowanie autouzupełniania za pomocą klawisza tabulatora;
- W poleceniach 'printf' i 'eval' dodano wsparcie dla wyjściowych ciągów znaków w stylach C i Ada bez bezpośredniego wywoływania funkcji w programie;
- W poleceniu 'info sources' dodano wsparcie dla filtrowania wyświetlanych plików na podstawie wyrażenia regularnego;
- W ustawieniu 'set print frame-arguments' zrealizowano parametr 'presence', po jego ustawieniu dla argumentów wyświetlany jest jedynie wskaźnik obecności '…' zamiast wyświetlania nazwy i wartości;
- W interfejsie polecenia 'focus', 'winheight', '+', '-', '>', '<' są teraz wrażliwe na wielkość liter;
- Dla poleceń 'print', 'compile print', 'backtrace', 'frame
apply', 'tfaas' i 'faas' zrealizowano opcje do nadpisywania globalnych ustawień (np. ustawianych przez 'set print […]'); - W poleceniu 'info types' dodano opcję '-q' do wyłączania wyświetlania niektórych nagłówków;
- W ustawieniach zamiast wartości 'unlimited' można teraz podać 'u';
- Dodano nowe komendy:
- 'define-prefix' do definiowania własnych poleceń prefiksowych;
- '|' lub 'pipe' do wykonywania polecenia i przekierowywania wyjścia do polecenia powłoki (shell);
- 'with' do uruchamiania wskazanego polecenia z tymczasowo zmienionymi ustawieniami;
- 'set may-call-functions' do zarządzania możliwością wywoływania podprogramu z GDB;
- «set print finish [on|off]» do kontroli wyświetlania wartości zwracanej podczas używania polecenia «finish»;
- «set print max-depth» do ograniczenia wyjścia zagnieżdżonych struktur;
- «set print raw-values [on|off]» do włączania/wyłączania formatowania wyjściowych wartości;
- «set logging debugredirect [on|off]» do zarządzania zapisywaniem wyjścia debugowania do pliku log;
- Seria nowych poleceń «set style»;
- «set print frame-info […]» do określenia informacji, które należy wyświetlać podczas prezentacji stanu kadru stosu;
- «set tui compact-source» do włączenia kompaktowego trybu wyświetlania kodu w interfejsie TUI (Text User Interface);
- «info modules […]» do zapytania o informacje na temat modułów Fortran;
- Zamiast «set/show print raw frame-arguments» zaproponowano polecenie «set/show print raw-frame-arguments» (jako separator używa myślnika zamiast spacji);
- Do interfejsu programowania dodano nowe polecenia «-complete», «-catch-throw», «-catch-rethrow», «-catch-catch», «-symbol-info-functions», «-symbol-info-types»,
«-symbol-info-variables», «-symbol-info-modules», «-symbol-info-module-functions» i «-symbol-info-module-variables», odpowiednie do podobnych poleceń GDB. Domyślnie aktywowana jest trzecia wersja interpretera MI (-i=mi3); - Dodano nowe wbudowane zmienne:
- $_gdb_major, $_gdb_minor;
- $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
- $_gdb_maint_setting_str
- $_cimag, $_creal
- $_shell_exitcode, $_shell_exitsignal
- Do skryptu konfiguracyjnego dodano opcję «—with-system-gdbinit-dir» do określenia ścieżki do systemowych plików gdbinit;
- Wprowadzono szereg ulepszeń w Python API. Dodano możliwość kompilacji z Python 3 w Windows;
- Zwiększone wymagania dotyczące środowiska kompilacji. Aby zbudować GDB i GDBserver, teraz wymagana jest co najmniej GNU make 3.82. Przy kompilacji z zewnętrzną biblioteką readline wymagana jest co najmniej GNU readline 7.0.
Źródło: opennet.ru
