Wydanie debuggera GDB 8.3

Przedstawiony wydanie debuggera GDB 8.3, obsługującego debugowanie na poziomie źródłowym dla szerokiego zakresu języków programowania (Ada, C, C++, Objective-C, Pascal, Go 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:

  • W interfejsach CLI i TUI wprowadzono możliwość określenia stylu terminala (dodana komenda „set style”). Przy obecności GNU Highlight zaimplementowano podświetlanie kodu źródłowego;
  • Wdrażane jest eksperymentalne wsparcie dla kompilacji i podstawiania kodu źródłowego w języku C++ w proces kontrolowany przez GDB
    (inferior). Aby to działało, wymagana jest co najmniej wersja GCC 7.1 zbudowana z libcp1.so;
  • W GDB i GDBserver dodano wsparcie dla IPv6. Do określania adresów IPv6 należy używać formatu „[ADDRESS]:PORT”;
  • Dla systemów docelowych RISC-V dodano wsparcie opisu celu w formacie XML (Target Description Format);
  • Na platformie FreeBSD zapewniono wsparcie dla ustawiania punktów przechwytywania
    (catchpoint) na wywołania systemowe, używając ich aliasów specyficznych dla różnych ABI (na przykład dla ‘kevent’ dostępny jest alias ‘freebsd11_kevent’ do powiązania ze starszym ABI);
  • Do komendy „target remote” dodano wsparcie dla gniazd Unix (Unix Domain socket);
  • Dodano możliwość wyświetlania wszystkich plików otwartych przez proces (komenda „info proc files”);
  • Wprowadzono możliwość automatycznego zapisywania na dysk indeksów symboli DWARF w celu przyspieszenia późniejszego ładowania tego samego pliku wykonywalnego;
  • W GDBserver dla platformy PowerPC GNU/Linux dodano wsparcie dostępu do rejestrów PPR, DSCR, TAR, EBB/PMU i HTM;
  • Dodano nowe komendy „set/show debug compile-cplus-types” oraz
    „set/show debug skip” do konfigurowania wyjścia danych dotyczących transformacji typów C++ oraz informacji o pomijanych plikach i funkcjach;
  • Dodano komendy „frame apply COMMAND”, „taas COMMAND”, „faas COMMAND”, „tfaas COMMAND” do stosowania komend do ramki stosu i wątków;
  • Wprowadzono ulepszenia w komendach „frame”, „select-frame”, „info frame”,
    — „info functions”, „info types”, „info variables”, „info thread”, „info proc”;
  • Podczas uruchamiania w trybie wsadowym GDB teraz zwraca kod błędu 1 w przypadku niepowodzenia ostatniej komendy;
  • Dodano możliwość budowania GDB z dostarczanym detektorem nieokreślonego zachowania GCC (Undefined Behavior Sanitizer);
  • Dodano ustawienia systemu bazowego (native configuration, do debugowania na tej samej systemie) dla platform RISC-V GNU/Linux (riscv*-*-linux*) oraz RISC-V FreeBSD (riscv*-*-freebsd*);
  • Dodano ustawienia systemów docelowych (target configuration): CSKY ELF (csky*-*-elf), CSKY GNU/Linux (csky*-*-linux), NXP S12Z ELF (s12z-*-elf), OpenRISC GNU/Linux (or1k*-*-linux*), RISC-V GNU/Linux (riscv*-*-linux*) i RISC-V FreeBSD (riscv*-*-freebsd*);
  • Debugowanie na tym samym systemie w Windows teraz wymaga posiadania Windows XP lub nowszej wersji;
  • Aby korzystać z API Pythona, teraz wymagana jest wersja Python 2.6 lub wyższa.

Ź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