Wydanie debuggera GDB 15

Wydanie debuggera GDB 15.1 zostało zaprezentowane (pierwsza wersja serii 15.x, gałąź 15.0 była używana do rozwoju). GDB wspiera debugowanie na poziomie kodu źródłowego dla szerokiego wachlarza 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 itd.) oraz programowych (GNU/Linux, *BSD, Unix, Windows, macOS).

Kluczowe ulepszenia:

  • Do kompilacji GDB i GDBserver teraz wymagany jest kompilator obsługujący C++17 (co najmniej GCC 9).
  • Wprowadzono poprawki w Python API. Dodano funkcje gdb.notify_mi, gdb.missing_debug.register_handler oraz gdb.interrupt, klasę gdb.missing_debug.MissingDebugInfo, moduł db.missing_debug, atrybuty gdb.Value.bytes i gdb.InferiorThread.ptid_string, oraz stałe gdb.SYMBOL_TYPE_DOMAIN, gdb.SYMBOL_FUNCTION_DOMAIN i gdb.SEARCH_*_DOMAIN. W obiektach gdb.Inferior i gdb.InferiorThread zrealizowano możliwość dodawania własnych atrybutów.
  • Kontynuowano wdrażanie protokołu DAP (Debugger Adapter Protocol). Dodano polecenie „set debug dap-log-level” do zarządzania logowaniem DAP. Dodano wsparcie dla żądania „cancel” oraz możliwość tworzenia zdarzenia „process”.
  • W protokole zdalnego debugowania dodano wsparcie dla pakietów QThreadOptions i qIsAddressTagged, a także zrealizowano polecenie „set/show remote thread-options-packet”.
  • W GDBserver zaprzestano wsparcia dla opcji „—remote-debug” oraz „—event-loop-debug”, a także komend ‘monitor set remote-debug’ i ‘monitor set event-loop-debug’, podczas gdy w opcji „—debug” wprowadzono możliwość przekazywania listy komponentów do debugowania oddzielonych przecinkami (all, threads, event-loop i remote). Podobnie, możliwość określenia komponentów zrealizowano w komendzie ‘monitor set debug’.
  • Do indeksu dodano informacje o funkcji main, co przyspiesza uruchamianie w przypadku korzystania z niektórych dużych plików wykonywalnych.
  • Komendy MPX „show/set mpx bound” zostały uznane za przestarzałe, wsparcie dla nich zakończono w Intel w 2019 roku.
  • Dodano nowe komendy:
    • „set/show direct-call-timeout”
    • „set/show indirect-call-timeout”
    • „set/show unwind-on-timeout on|off”
    • „set/show unwind-on-signal on|off”
  • W komendach „gcore” i „generate-core-file” wprowadzono wsparcie dla optymalizacji przechowywania pustych obszarów w generowanych plikach core.

Ź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