Фронтенд отладчика на основе (n)curses?

Мне не очень нравятся чисто отладчики командной строки; но иногда я использую машину, на которой просто нет никаких приложений на основе X или чего-либо с другим типом графического интерфейса, и я ограничен сеансом терминала.

Таким образом, меня интересует отладчик с (n) curses в качестве пользовательского интерфейса - что-то, что позволит мне наблюдать за исходным кодом, как он идет вверх по трассировке стека, без необходимости постоянно вводить команды и т. д. Это не должно быть причудливым ; так что что-то вроде аналога ncurses, скажем, kdbg было бы уместно.

Необходимый:

  • Свободная лицензия.
  • бесплатно.
  • Поддерживает gdb
  • Скоростной
  • Может использоваться с кодом C и C++

Желательно:

  • Поддержка других скомпилированных языков
  • Поддерживает отладчик LLVM, а также gdb.
  • Какой-то индекс/анализ кода/и т. д., который позволил бы перейти от использования к определению или между определением и объявлением
  • В стадии активной разработки
  • Возможность взаимодействовать с пользовательским интерфейсом другими способами, кроме ввода команд в какой-либо командной строке. (т.е. не просто красивое отображение состояния в командной строке отладчика gdb/llvm).

Ответы (1)

Vanilla GDB удовлетворяет вашим ограничениям. gdb -tuiосновано на проклятиях.

Кроме того, GDB поддерживает расширенную настройку с использованием файлов .gdbinit. Вы можете вдохновиться этими:

Некоторые люди предпочитают cgdb GDB TUI.

Дополнительные параметры см. в разделе Как выделить и раскрасить вывод gdb во время интерактивной отладки? о переполнении стека. Скриншоты взяты оттуда.

Но разве все это не основано на вводе команд в командной строке?
GDB TUI имеет одноклавишный режим , в котором отладочные задачи выполняются одним нажатием клавиши. Тем не менее, некоторые команды необходимы, например, для установки точки останова.
Итак, я проголосовал за этот ответ, и он, очевидно, очень полезен по сравнению с использованием простого ванильного gdb, но я все еще надеюсь на ответ, который меньше зависит от командной строки.
Я слышал о Clewn , который позволяет использовать Vim в качестве интерфейса для GDB. Я планирую покататься на нем некоторое время. Он может обеспечить более тесную интеграцию и более удобный интерфейс. Тем не менее, GDB настолько продвинутый инструмент, что обход всех его команд может быть не самым удобным способом добиться цели.