Wydanie debuggera GDB 11

Została wydana wersja debuggera GDB 11.1 (pierwsza wersja serii 11.x, gałąź 11.0 była używana do rozwoju). GDB wspiera debugowanie na poziomie źródłowym dla szerokiego zakresu języków programowania (Ada, C, C++, Objective-C, Pascal, Go, Rust itd.) na różnych platformach sprzętowych (i386, amd64, ARM, Power, Sparc, RISC-V itd.) i programowych (GNU/Linux, *BSD, Unix, Windows, macOS).

Kluczowe ulepszenia:

  • W interfejsie TUI (Text User Interface) dodano wsparcie dla działań myszą oraz możliwość przewijania zawartości za pomocą kółka myszy. Zapewniono przesyłanie w GDB kombinacji klawiszy, które nie są przetwarzane w TUI.
  • Dodano wsparcie dla mechanizmu ARMv8.5 MTE (MemTag, Memory Tagging Extension), który umożliwia powiązanie tagów z każdą operacją przydzielania pamięci i wprowadza weryfikację wskaźnika podczas dostępu do pamięci, który musi być związany z poprawnym tagiem. W protokole zdalnego debugowania dodano wsparcie dla pakietów „qMemTags” i „QMemTags” do powiązania tagów z pamięcią.
  • Zmodyfikowano logikę odczytu plików konfiguracyjnych. Plik .gdbinit jest teraz sprawdzany w następującej kolejności: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit i $HOME/.gdbinit. To znaczy, najpierw w podkatalogu config, a następnie w katalogu domowym.
  • W poleceniu „break […] if CONDITION” zakończono wyświetlanie błędu, gdy warunek był niedozwolony w określonych miejscach, jeżeli warunek był dopuszczalny przynajmniej w jednym przypadku.
  • Dodano wsparcie dla debugowania zrzutów rdzeni, generowanych dla programów Cygwin, skompilowanych dla architektury x86_64.
  • Dodano wsparcie dla typów z stałą przecinkową, a także dla stałych DW_AT_GNU_numerator i DW_AT_GNU_denominator.
  • Dodano ustawienie „startup-quietly on|off”; gdy „on”, jest to odpowiednik opcji „-silent”.
  • W poleceniu „ptype” wprowadzono opcje "/x” i „/d” do wyboru szesnastkowego lub dziesiętnego systemu liczbowego przy wyświetlaniu rozmiarów i przesunięć. Dodano ustawienie „print type hex on|off” do użycia wartości szesnastkowych w wyjściu polecenia ‘ptype’.
  • W poleceniu „inferior” przy wywołaniu bez argumentów zapewniono wyświetlenie bieżącego obiektu debugowania (inferior).
  • Przeprojektowano wyjście z polecenia „info source”.
  • Dodano polecenie „style version foreground | background | intensity” do zarządzania stylem numeracji wersji.
  • Dodano nowe opcje wiersza poleceń: „—early-init-command” („-eix”), „—early-init-eval-command” („-eiex”), „—qualified” (dla poleceń ‘-break-insert’ i ‘-dprintf-insert’), „—force-condition” (dla poleceń ‘-break-insert’ i ‘-dprintf-insert’), „—force” (dla polecenia ‘-break-condition’).
  • W zespole „-file-list-exec-source-files” dozwolone jest podawanie wyrażeń regularnych w celu filtrowania przetwarzanych plików źródłowych. Do wyjścia dodano pole „debug-fully-read”, aby informować o stopniu załadowania informacji debugujących.
  • Wprowadzono usprawnienia w Python API. Dodano nowe metody gdb.Frame.level() i db.PendingFrame.level() do zwracania poziomu stosu dla obiektu Frame. W przypadku wystąpienia punktu przerywania (catchpoint) w Python API zapewniono przekazywanie gdb.BreakpointEvent zamiast gdb.StopEvent. Dodano ustawienia „python ignore-environment on|off” do ignorowania zmiennych środowiskowych oraz „python dont-write-bytecode auto|on|off” do wyłączenia zapisu bajtowego.
  • Wprowadzono usprawnienia w Guile API. Dodano nowe procedury value-reference-value, value-rvalue-reference-value oraz value-const-value.
  • Biblioteka GMP (GNU Multiple Precision Arithmetic) została dodana do obowiązkowych zależności kompilacyjnych.
  • Wsparcie dla platformy ARM Symbian (arm*-*-symbianelf*) zostało zakończone.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster