GDB 14.1 вже випущено, і це його нові функції

Налагоджувач GNU

GNU Debugger є стандартним відлагоджувачем для компілятора GNU. Це портативний налагоджувач, який можна використовувати на різних платформах Unix.

Останнім часом Анонсовано випуск нової версії відладчика GDB 14.1, це перша версія серії 14, у якій додано велику кількість нових функцій, атрибутів, класів і подій, а також покращено підтримку, виправлено помилки тощо.

Для тих, хто не знає про GDB, ви повинні знати, що це є налагоджувачем для проекту GNU, і цей налагоджувач дозволяє вам «бачити», що відбувається «всередині» іншої програми під час її роботи, або що робила інша програма під час збою.

GDB може робити чотири основні типи речей (на додаток до інших речей на підтримку цього), щоб допомогти користувачеві виявити помилки під час виконання програм:

  1. Запустіть програму, вказавши все, що може вплинути на її поведінку.
  2. Він має можливість зупиняти програму за певних умов.
  3. Подивіться, що сталося, коли програма зупинилася.
  4. Змініть речі в програмі, щоб користувач міг експериментувати з виправленням наслідків однієї помилки та продовжувати вивчати іншу.

Ці програми можуть працювати на тій самій машині, що й GDB (рідна), на іншій машині (віддалена) або в симуляторі. GDB може працювати на більшості популярних варіантів UNIX і Microsoft Windows, а також macOS.

GDB підтримує налагодження на рівні джерела для широкого діапазону мов програмування, наприклад: Ada, Assembly, C, C++, D, Fortran, Go, OpenCL, Objective-C, Modula-2, Pascal і Rust.

Основні нові можливості GDB 14.1

У цій новій версії GDB 14.1 це початкова інтегрована підтримка протокол налагодження адаптера (DAP), розроблений Microsoft і це дозволяє реалізувати загальний налагоджувач, щоб інструменти розробки могли спілкуватися з різними налагоджувачами через адаптери налагодження, які, у свою чергу, можна повторно використовувати в багатьох інструментах розробки, в основному це зводиться до зусиль для підтримки нового налагоджувача в різних інструментах.

Ще однією зі змін, які виділяються в цій новій версії, є Впроваджено покращення підтримки, такі як початкова підтримка цілочисельних типів розміром понад 64 біти, підтримка ввімкнення або вимкнення окремих віддалених цільових функцій, а також покращена підтримка Ada для атрибутів Ada 2022 ‘Enum_Rep і ‘Enum_Val.

Крім того, GDB тепер розпізнає змінну середовища NO_COLOR і має Покращена підтримка AArch64, оскільки було додано початкову підтримку для розширення SME та SME2.

Крім того, Функції та налаштування GDB видалено які вже підтримуються в новому випуску, наприклад, GDB 14.1 більше не сумісний з AiX 4.x, 5.x і 6.x, підтримку GDB/MI версії 1 було видалено.

Додано функцію $_shell” для виконання команди в оболонці і повернути результат, команда «list» тепер приймає «.» як аргумент, щоб надрукувати розташування точки виконання в поточному кадрі стека, додано »%V» до формату виводу для команд printf і dprintf, Команда printf тепер обмежує розмір рядків, отриманих із меншим значенням параметра "max-value-size", і додано нові команди налагодження та обслуговування.

Щодо вдосконалення підтримки Python, це був той, який отримав найбільше, і виділяється наступне:

  • Нові класи: gdb.Thread, gdb.unwinder.FrameId, gdb.ValuePrinter
  • Нові атрибути: gdb.Lower.arguments, який зберігає аргументи командного рядка внизу, якщо вони відомі, gdb.Lower.main_name, який містить назву «основного» нижчого, якщо відомо, gdb.Breakpoint.Lower, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename
  • Нові функції: gdb.execute_mi(КОМАНДА, [ARG]…), gdb.block_signals()
  • Нові методи: gdb.Value 'to_array', gdb.Progspace 'objfile_for_address', 'gdb.Frame.static_link, gdb.Inferior 'clear_env', 'set_env' і 'unset_env' 
  • Нові події: gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent gdb.NewProgspaceEvent і gdb.FreeProgspaceEvent.
  • API Disassembler модуля gdb.disassembler було розширено, щоб включити підтримку стилів
    gdb.parse_and_eval
  • Атрибут gdb.unwinder.Unwinder.enabled тепер може приймати лише значення типу 'bool'.
    Тепер більше неможливо створити підклас типу gdb.disassembler.DisassemblerResult.

Нарешті, якщо вам цікаво дізнатись більше про це, ви можете перевірити деталі в наступне посилання.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.