Вы отлаживаете код C++ в Vim? Как?



вопрос ко всем вам, кто использует Vim для разработки приложений на C++.



был период в моей жизни, который можно охарактеризовать как
- Ненавижу Вима!!!'..'Vim-это приятно!-



однако, выросший в основном на Идах разработки Microsoft, я привык к этим F5 -F11 ярлыки при отладке кода, окна просмотра, стека вызовов и основного кода - все это видно без необходимости вводить какие-либо команды GDB.



вот вопрос:



вы также используете Vim для отладки? Или вы переключаетесь на какую-то IDE для этой цели? Какой именно?



для тех, кто использует Vim для отладки кода: есть ли плагины для установки точек останова в Редакторе, выделите строку, которую мы сейчас отлаживаем, автонавигацию во время шага, Шаг в, шаг наружу?



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

994   5  

5 ответов:

в отличие от других ответов, есть по крайней мере три варианта, которые делают именно то, что вам нужно: clewn,pyclewn и vimgdb.

все три проекта связаны между собой. vimgdb является патчем против Vim и требует перекомпиляции Vim. clewn это автономная программа, которая взаимодействует с Vim через интерфейс сокета Netbeans. Это требует, чтобы Vim был построен с (Это случай в последних дистрибутивах Linux, поэтому это не должно быть проблемой).

цитата с сайта clewn:

Clewn реализует полную поддержку gdb в Редакторе vim: точки останова, переменные наблюдения, завершение команды gdb, окна сборки и т. д.

Я думаю, что вы должны дать ей идти.

на главной странице сайта pyclewn показано сравнение между тремя проектами.

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

Vim-хороший редактор, но для отладки я использую отладчик (например, GDB).

но вам не нужно использовать GDB в текстовом режиме; вы можете использовать графический интерфейс, например KDbg, DDD или понимание.

есть способы получения GDB в Vim (но тогда вы получаете отладку на основе текста).

использование отладчика исходного уровня-это только один из многих способов диагностики неисправного поведения программы, и я редко запускаю его, несмотря на то, что это очень легко сделать.

для меня просто нет неотъемлемого преимущества использования текстового редактора, который также является отладчиком. Вместо этого я использую текстовый редактор, который я предпочитаю -- независимо от того, какой отладчик я выбираю для использования. На данный момент, я в основном использую gedit и kdbg для этих целей, но эти выборы эволюционируют независимо с течением времени.

недавно работая над приложением в течение длительного времени, которое требовало, чтобы куча вещей была на месте на коробке, которую он запускал (настройка устройства), я написал код в vim, имел сценарии, которые автоматизировали построение, толкая его на сервер, у которого был сценарий, чтобы заметить файл sentinel, толкаемый вместе с двоичными файлами. Затем это перезапустит соответствующие службы в поле, а в другом окне ssh у меня было tail -f работает в моем файле журнала.

короче говоря, я не использовал отладчик вообще. Если бы у меня что-то неожиданно умерло, я бы просто поднял уровни ведения журнала, повторил его и посмотрел, что было последним, что было зарегистрировано перед смертью, а затем проанализировал это и исправил проблему.

приятно было то, что когда что-то имело проблемы в среде клиента, я просто просил журнал уровня отладки и мог идентифицировать проблему, даже не требуя доступа к их серверу.

... Но да, Были времена, когда было бы неплохо иметь отладчик.

GDB edit команда

откроется редактор в текущей строке с помощью команды:

$EDITOR +<current-line> <current-file>

по умолчанию editor и ex, а vim понимает .

когда вы выходите из редактора, вы возвращаетесь в gdb.

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

это "для бедных", встроенный в одну сторону ГДБ для интеграции vim: основная недостающая вещь-это установка точек останова из Vim.

edit и центр

edit не центрирует Vim по умолчанию вокруг источника, поэтому я создал скрипт Python, который это делает:как открыть текущий файл в текущей строке в текстовом редакторе из GDB?

команда точки останова в буфер обмена помощник

эта команда vim копирует спецификатор точки останова тип:

b <file-path>:<line-number>

в буфер обмена:

command! Xg :let @+ = 'b ' . expand('%:p') . ':' . line('.')

затем вы можете просто вставить в gdb.

это vim бедного человека к интеграции gdb для облегчения установки точек останова.

Comments

    Ничего не найдено.