Випуск відладчика GDB 8.3

представлений реліз відладчика GDB 8.3, що підтримує налагодження на рівні вихідних текстів для широкого спектру мов програмування (Ada, C, C++, Objective-C, Pascal, Go і т.д.) на різних апаратних (i386, amd64, ARM, Power, Sparc, RISC-V та і т.д.) та програмних платформах (GNU/Linux, *BSD, Unix, Windows, macOS).

Ключові поліпшення:

  • В інтерфейсах CLI і TUI реалізовано можливість визначення стилю терміналу (додано команду «set style»). За наявності GNU Highlight реалізовано підсвічування вихідних текстів;
  • Реалізовано експериментальну підтримку компіляції та підстановки вихідного коду мовою C++ у контрольований за допомогою GDB процес
    (менше). Для роботи потрібна наявність щонайменше версії GCC 7.1б, зібраної з libcp1.so;

  • У GDB та GDBserver додана підтримка IPv6. Для завдання адрес IPv6 слід використовувати формат «[ADDRESS]:PORT»;
  • Для цільових систем RISC-V додано підтримку опису мети у форматі XML (Target Description Format);
  • На платформі FreeBSD забезпечено підтримку встановлення точок перехоплення
    (catchpoint) на системні виклики, використовуючи їх псевдоніми, специфічні для різних ABI (наприклад, для 'kevent' доступний псевдонім 'freebsd11_kevent' для прив'язки до старого ABI);

  • До команди «target remote» додано підтримку Unix-сокетів (Unix Domain socket);
  • Додано можливість відображення всіх файлів, відкритих процесом (команда "info proc files");
  • Реалізовано можливість автоматичного збереження на диск індексів символів DWARF для прискорення подальшого завантаження того ж файлу, що виконується;
  • У GDBserver для платформи PowerPC GNU/Linux додана підтримка доступу до регістрів PPR, DSCR, TAR, EBB/PMU та HTM;
  • Додані нові команди «set/show debug compile-cplus-types» та
    «set/show debug skip» для налаштування виведення даних про перетворення типів C++ та інформації про файли, що пропускаються, і функції;

  • Додані команди "frame apply COMMAND", "taas COMMAND", "faas COMMAND", "tfaas COMMAND" для застосування команд до кадрів стека та потоків;
  • Внесено поліпшення до команд «frame», «select-frame», «info frame»,
    - "info functions", "info types", "info variables", "info thread", "info proc";

  • При запуску пакетного режиму GDB тепер повертає код помилки 1 у разі збою виконання останньої команди;
  • Додано можливість складання GDB з наданим GCC детектором невизначеної поведінки (Undefined Behavior Sanitizer);
  • Додано налаштування базової системи (native configuration, для налагодження на тій самій системі) для платформ RISC-V GNU/Linux (riscv*-*-linux*) та RISC-V FreeBSD (riscv*-*-freebsd*);
  • Додані налаштування цільових систем (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*) та RISC-V FreeBSD (riscv*-*-freebsd*);
  • Налагодження на тій самій системі Windows тепер потребує наявності Windows XP або новіших випусків;
  • Для використання Python API тепер потрібний Python 2.6 або новіший.

Джерело: opennet.ru

Додати коментар або відгук