Wydanie debuggera GDB 16

Wydano wersję debuggera GDB 16.1 (pierwsze wydanie serii 16.x, gałąź 16.0 była używana do rozwoju). GDB wspiera debugowanie na poziomie kodu źródłowego dla szerokiego zakresu języków programowania (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust itd.) na różnych platformach sprzętowych (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch itd.) i programowych (GNU/Linux, *BSD, Unix, Windows, macOS).

Najbardziej zauważalne ulepszenia:

  • Dla środowisk Linux na systemach z architekturą LoongArch wdrożono wsparcie dla nagrywania i powtarzania (record/replay).
  • Dla wskaźników z etykietami, gdzie część bitów jest używana do przechowywania dodatkowych danych, wdrożono wsparcie dla punktów przerwania, które aktywują się przy zmianie danych (watchpoint).
  • Na systemach z architekturą AArch64 wdrożono wsparcie dla debugowania mechanizmu ochrony MTE (Memory Tagging Extension). MTE pozwala na przypisywanie etykiet do obszarów pamięci i organizowanie sprawdzania poprawności użycia wskaźników w celu zablokowania wykorzystania podatności spowodowanych niewłaściwą obsługą pamięci.
  • Dodano skrypt bash gstack, który wykorzystuje GDB do wyprowadzania stack trace'ów działających procesów.
  • Dla punktów przerwania w stanie oczekiwania (pending) słowa kluczowe 'thread' i 'task' są teraz interpretowane w momencie tworzenia punktu przerwania, a nie po wyjściu ze stanu oczekiwania.
  • Zapewniono podstawianie punktów przerwania związanych z wątkami tylko w te obszary programu, w których wykonuje się odpowiedni wątek.
  • Rozszerzono możliwości śledzenia na procesorach Intel: podczas krokowego debugowania oraz w poleceniach „record instruction-history” i „record function-call-history” zaimplementowano wyprowadzanie asynchronicznych zdarzeń i danych zapisywanych podczas użycia instrukcji ptwrite.
  • W API Pythona dodano: moduł gdb.missing_objfile, zdarzenie gdb.tui_enabled, atrybut gdb.Symbol.is_artificial oraz funkcję gdb.record.clear.
  • Rozszerzono możliwości protokołu DAP (Debugger Adapter Protocol) związane z obsługą żądań „scopes”, „launch” i „attach”.
  • W protokole zdalnego debugowania dodano wsparcie dla pakietów „vFile:stat” i „x addr,length”.
  • Zlikwidowano wsparcie dla QNX Neutrino, Nios II i Intel MPX.

Ź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