вНовости программирования

Графический интерфейс для GDB: обзор инструмента gdbgui

Современный браузерный интерфейс GDB (отладчик GNU) для языков C, C++, Go и Rust. Можно добавлять контрольные точки, просматривать трассировку стека и многое другое. Для этого нужно просто запустить gdbgui из терминала, и в браузере откроется новая вкладка.

Установка

Linux

sudo pip install gdbgui --upgrade

macOS

sudo pip install gdbgui --upgrade --user

Следуйте этим инструкциям, если появилась ошибка, например:

please check gdb is codesigned - see taskgated(8)

Windows

Протестировано с cygwin.

pip install gdbgui --upgrade

Пользователям virtualenv не нужен префикс sudo.

Кроме того, вы можете склонировать репозиторий:

git clone https://github.com/cs01/gdbgui cd gdbgui pip install -r requirements.txt gdbgui/backend.py

Запуск

gdbgui [бинарный файл для отладки]

В вашем браузере откроется новая вкладка с gdbgui.

Особенности

  • Отладчик каждой программы открывается в отдельной вкладке (для каждой вкладки создается новый экземпляр GDB).
  • Установка / удаление контрольных точек.
  • Просмотр стека.
  • Оценка произвольных выражений и установка их значений с течением времени.
  • Просмотр всех регистров.
  • Анализатор исходного кода с возможностью перехода на указанную строку.
  • Показ ассемблерного кода рядом с исходниками. Можно выделять текущую инструкцию.
  • Уведомления о доступности новых обновлений.

Преимущества gdbgui

  • Активно разрабатывается и совместим с последней версией GDB (7.12).
  • Предназначен лишь для отладки программ — ничего лишнего.
  • Дизайн разработан под влиянием отладчика Chrome.
  • Написан на широко используемых языках (Python и JavaScript).
  • Инструмент бесплатен, исходники открыты.

Примеры

Примеры кода и make-файлов для программ на C, C ++, Go и Rust можно найти на GitHub.

Совместимость

  • Версии Python: 2.7, 3.4, 3.5, 3.6, 3.6-dev, 3.7-dev, pypy.
  • ОС: Ubuntu 14.04 +, OSX.
  • Браузеры: Chrome, Firefox.
  • GDB: 7.7.1 и 7.12. Скорее всего работает и с промежуточными версиями.

Подробнее об инструменте можно узнать из описания репозитория.

Типичный программист.

Источник: Типичный программист