Wydanie debuggera GDB 14

Została wydana wersja debuggera GDB 14.1 (pierwsze wydanie serii 14.x, gałąź 14.0 była używana do rozwoju). GDB obsługuje debugowanie na poziomie źródłowym dla szerokiego zakresu języków programowania (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust itp.) na różnych platformach sprzętowych (i386, amd64, ARM, Power, Sparc, RISC-V itp.) i programowych (GNU/Linux, *BSD, Unix, Windows, macOS).

Kluczowe ulepszenia:

  • Kod źródłowy został przekształcony do użycia standardu C++17. Do kompilacji GDB teraz potrzebny jest kompilator obsługujący C++17 (przynajmniej GCC 9).
  • Do indeksu dodano informacje o funkcji main, co przyspiesza uruchamianie w przypadku korzystania z niektórych dużych plików wykonywalnych.
  • Wsparcie dla systemów operacyjnych AIX 4.x, 5.x i 6.x zostało zakończone (minimalnie wspierana wersja AIX to 7.1).
  • Dodano wstępną wbudowaną obsługę protokołu DAP (Debugger Adapter Protocol).
  • Dodano wsparcie dla zmiennej środowiskowej NO_COLOR.
  • Dodano wstępną obsługę typów całkowitych większych niż 64 bity.
  • Dodano wsparcie dla punktów przerwania powiązanych z poszczególnymi obiektami debugowania (podczas debugowania wielu procesów).
  • Dodano funkcję „$_shell” do uruchamiania polecenia w powłoce oraz zwracania wyniku.
  • Wprowadzono ulepszenia w Python API:
    • Dodano klasy gdb.Thread, gdb.unwinder.FrameId i gdb.ValuePrinter.
    • Dodano atrybuty gdb.Inferior.arguments, gdb.Inferior.main_name, gdb.Breakpoint.inferior, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename.
    • Dodano funkcje gdb.execute_mi(COMMAND, [ARG]…), gdb.block_signals().
    • Dodano metody gdb.Frame.static_link, gdb.Inferior ‘clear_env’, ‘set_env’ i ‘unset_env’, gdb.Type ‘is_array_like’ i ‘is_string_like’, gdb.Value ‘assign’, gdb.Value ‘to_array’, gdb.Progspace ‘objfile_for_address’, gdb.LazyString __str__. Dodano zdarzenia gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent, gdb.NewProgspaceEvent, gdb.FreeProgspaceEvent.
  • Dodano możliwość włączania i wyłączania poszczególnych funkcji dla zdalnych celów debugowania.
  • Ulepszono wsparcie dla architektury AArch64. Dodano wsparcie dla rozszerzeń SME (Scalable Matrix Extension) oraz SME2.
  • Ulepszono wsparcie dla języka Ada oraz specyfikacji Ada 2022.
  • W poleceniu ‘list’ dodano wsparcie dla argumentu ‘.’ do wyświetlania lokalizacji punktu wykonania w bieżącej klatce stosu.
  • W poleceniach printf i dprintf dodano specyfikator formatu ‘%V’.
  • W poleceniu printf rozmiar ciągu pobieranego z obiektu debugowania jest ograniczony wartością ustawienia ‘max-value-size’.
  • Dodano opcję kompilacji «—additional-debug-dirs=PATH», która ustawia wartość domyślną dla parametrów ‘debug-file-directory’.
  • Dodano nowe polecenie «info main» do pobierania symbolu main, wskazującego na punkt wejścia w programie.
  • Dodano nowe komendy:
    • «ustaw debug breakpoint włącz|wyłącz»
    • «ustaw zdarzenia myszy TUI [włącz|wyłącz]»
    • «ustaw zawsze-odczyt-ctf włącz|wyłącz»
    • «konserwacja wydrukuj instrukcję zapisu [ N ]»
    • «konserwacja info ramki-rozwiązania»
    • «konserwacja czekaj-na-indeks-pamięci»

Ź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