Вопрос ко всем вам, кто использует Vim для разработки приложений на C ++.
В моей жизни был период, который можно охарактеризовать как «Я ненавижу Vim !!!» .. «Vim хорош!»
Однако, вырос в основном в среде разработки Microsoft, я Привыкли к этим ярлыкам F5 kbd> - F11 kbd> при отладке кода, окна просмотра, стека вызовов и основного кода - все это видно без необходимости вводить какие-либо команды GDB.
Итак, вот вопрос:
Вы также используете Vim для отладки? Или вы переключаетесь на какую-то IDE для этой цели? Какой из них?
Для тех, кто использует Vim для отладки кода: есть ли плагины для установки точек останова в редакторе, выделите строку, которую мы сейчас отлаживаем, автоматическую навигацию во время шага, шага в, выхода ?
Пожалуйста, не говорите мне, что вы используете GDB в качестве командной строки, смотрите только одну отлаженную строку и т. Д.
В отличие от других ответов, есть как минимум три варианта, которые делают именно то, что вам нужно: clewn , pyclewn и vimgdb .
Все три проекта связаны между собой. vimgdb - это патч против Vim, который требует перекомпиляции Vim. clewn - это отдельная программа, которая взаимодействует с Vim через интерфейс сокета Netbeans. Для этого требуется, чтобы Vim был собран с опцией + netbeans
(это имеет место в последних дистрибутивах Linux, поэтому это не должно быть проблемой).
Цитата с веб-сайта clewn:
Clewn реализует полную поддержку gdb в редакторе vim: точки останова, контрольные переменные, завершение команды gdb, окна сборки и т. Д.
Я думаю, вам определенно стоит попробовать.
На домашней странице веб-сайта pyclewn показано сравнение трех проектов.
Несколько месяцев назад я попробовал pyclewn. Его было немного сложно настроить, но он выглядит неплохо и многообещающе. Я только что провел несколько тестов, и вы могли установить закладки и т. Д., Как обычно, что вы ожидаете от графического отладчика. В итоге я не использовал его по непредвиденным причинам, но я очень хочу попробовать еще раз.
Vim - хороший редактор, но для отладки я использую отладчик (например, GDB).
Но вам не обязательно использовать GDB в текстовом режиме; вы можете использовать графический интерфейс, например KDbg , DDD или Insight .
Есть способы вставить GDB в Vim (но тогда вы получите отладку на основе текста).
Совсем недавно долгое время работая над приложением, которое требовало наличия множества вещей на компьютере, на котором оно работало (установка устройства), я написал код в vim, у меня были сценарии, которые автоматизируют сборку и запускают ее. на сервер, на котором был сценарий, чтобы заметить, что файл-дозорный отправляется вместе с двоичными файлами. Это затем перезапустило бы соответствующие службы на коробке, и в другом окне ssh у меня был tail -f
, работающий в моем файле журнала.
Короче говоря, я вообще не использовал отладчик. Если что-то неожиданно умирало, я просто повышал уровень ведения журнала, переделывал его и смотрел, что было последним в журнале перед смертью, а затем анализировал это и исправлял проблему.
Приятно было то, что при возникновении проблем в среде клиента я просто запрашивал журнал уровня отладки и мог идентифицировать проблему, даже не требуя доступа к их серверу.
... но да, были времена, когда было бы неплохо иметь отладчик.
Использование отладчика на уровне исходного текста - это лишь один из многих способов диагностировать неправильное поведение программы, и я редко нахожу себя в состоянии запустить его - несмотря на то, что это очень легко сделать.
Поэтому для меня просто нет никаких преимуществ в использовании текстового редактора, который также является отладчиком. Вместо этого я использую тот текстовый редактор, который мне больше нравится - независимо от того, какой отладчик я решил использовать. В настоящее время для этих целей я в основном использую gedit и kdbg, но со временем эти варианты будут меняться независимо друг от друга.