2013-11-06 2 views
27

Так как gdb становится тяжело работать на Mac в эти дни (по крайней мере, я чувствую, что боюсь в гору против Apple), я начал играть с lldb.Есть ли режим «TUI» для автономного lldb?

Есть ли эквивалентный режим для gdb -tui, который показывает приятный, постоянный вид источника и где вы находитесь в нем при запуске lldb автономно из командной строки? Очевидно, что в Xcode есть такой дисплей, но в конечном итоге я использую большую часть своего кода для ящиков Linux и предпочитаю использовать ту же среду разработки на обеих платформах (т. Е. Vim, Makefiles, autotools и т. Д.).

ответ

31

В верхней части дерева svn source lldb есть очень новый режим командной строки GUI, который был добавлен Грегом Клейтоном. Это довольно аккуратно с отдельными окнами для источника, локальных переменных, стека, потоков, регистров и т. Д. Пока нет окна консоли. Это довольно круто. См. http://lldb.llvm.org/build.html о том, как построить lldb из источника, если вы хотите его проверить. Чтобы войти в режим графического интерфейса, просто введите gui из командной строки lldb при отладке.

ОБНОВЛЕНИЕ: эта функция gui включена в lldb, которая отправляется в Xcode 6 и позже. Это побочный проект по ночам и выходным дням, который сейчас не видит активного развития, но попробуй.

+0

Спасибо за подсказку, я посмотрю на него. –

+0

Можете ли вы указать, какая версия LLDB будет иметь эту функцию gui? – hlin117

+0

Режим, подобный TUI Greg, включен в Xcode 6, выпущен осенью 2014 года. Это забавный проект Greg's - это не так полируется, как другие части отладчика командной строки, но он работает очень хорошо. –

13

К сожалению, нет.

Однако, я наткнулся на это: https://github.com/snarez/voltron

Если вы знакомы с экраном/tmux это работает довольно хорошо.

+0

Ничего себе, это выглядит действительно круто, извините, я пропустил это сообщение, когда вы его сделали. –

+0

На самом деле лучший lldb GUI там atm – Marconi

0

Мне повезло с free GUI facade from Affinic. Это не идеально (или, по крайней мере, мое понимание этого не идеально). Я должен периодически перезапускать его, а иногда он несинхронизируется с особенно gnarly/fancy кода C++, например, кода, который делает много неявного материала в конструкторах. Но в целом это сэкономило мне много времени на старомодный путь в командной строке.

Я не смог получить режим графического интерфейса ncurses в CLL LLDB, чтобы работать, и я не пробовал Voltron.

Смежные вопросы