Существует ли какая-либо интерактивная или более удобная версия GDB для отладки?

Существует ли какая-либо интерактивная или более удобная для пользователя версия (или замена) GDB для отладки?

Некоторые люди предлагали CGDB, но после нескольких тестов я обнаружил, что он глючит и работает нестабильно.

4 ответа

Решение

Есть несколько графических интерфейсов для GDB. GNU DDD и KGDB, чтобы упомянуть пару.

GNU DDD:введите описание здесь

КГДБ:введите описание здесь

Обновление: я не упомянул, что GDB на самом деле имеет встроенный текстовый пользовательский интерфейс, если вы запускаете его с gdb -tui:введите описание здесь

GDB Dashboard

https://github.com/cyrus-and/gdb-dashboard

Панель инструментов GDB использует официальный API GDB Python и печатает информацию, которую вы хотите, когда GDB останавливается, например, после next как родной display командование

Против TUI:

  • более надежный, поскольку он просто печатает на стандартный вывод вместо того, чтобы перевести оболочку в более магическое состояние, например:

  • настраивается из Python: вы можете выбрать, что вы хотите выводить и насколько велика каждая секция в зависимости от того, что вы отлаживаете.

    Наиболее полезные представления уже реализованы: источник, сборка, регистры, стек, память, потоки, выражения... но должно быть легко расширить его любой информацией, предоставляемой в GDB Python API.

    TUI позволяет показывать только два источника, сборку и регистры и все. Если, конечно, вы не хотите изменять его исходный код на C;-)

Я считаю, что GDB должен поставляться с такой настройкой из коробки и включаться по умолчанию, это привлечет гораздо больше пользователей таким образом.

О, и главный разработчик, Андреа Кардачи, был очень отзывчивым и потрясающим. Большой респект.

Смотрите также: https://stackoverflow.com/questions/209534/how-to-highlight-and-color-gdb-output-during-interactive-debugging/17341335

Список внешних интерфейсов GDB можно найти по адресу http://sourceware.org/gdb/wiki/GDB%20Front%20Ends

Это, к сожалению, дает только дополнительные ссылки, но не дает никаких намеков на область применения и удобство использования, которое сильно варьируется там Я бы порекомендовал использовать внешний интерфейс, который находится в активной разработке, так как сам GDB сильно меняется.

Вы можете использовать GDBFrontend: https://github.com/rohanrhu/gdb-frontend. Вы можете установить его с помощью следующих команд:

echo "deb [trusted=yes] https://oguzhaneroglu.com/deb/ ./" | sudo tee -a /etc/apt/sources.list > /dev/null
sudo apt update
sudo apt install gdbfrontend

Видео об использовании: https://www.youtube.com/watch?v=z44KJDYZOoE

Вы можете попробовать UltraGDB, это интерфейс GDB GUI и облегченная IDE на основе технологии Eclipse.

Другие вопросы по тегам