Отладка программ в (g)Vim
В отличие от emacs, который поддерживает отладку "искаропки", редактор Vim или его графическая версия по умолчанию не имеют средств отладки С/С++ программ. Однако, Vim в смысле отладки тоже не стоит на месте. Добрые люди пишут различные программы, плагины, патчи для поддержки отладчика GDB в (g)Vim. Многие из них уже выложены на официальный сайт программы: http://Vim.Org/scripts/.... Как видно, многие из этих утилит уже устарели и имеют дату последнего обновления более двух лет назад.
В этой статье будет рассмотрен проект Clewn. Это один из самых старых, но всё ещё активно развивающихся проектов. Clewn предоставляет полную поддержку отладчика GDB в редакторе Vim: точки останова, просмотр переменных, управление GDB напрямую командами и т.д. Это возможно сделать двумя способами: через отдельную программу Clewn, или через VimGDB патч для Vim. Clewn контролирует Vim через netBeans сокет, запускается и выполняется отдельно, сообщая команды Vim. Однако для того, что бы использовать Clewn, Vim должен быть скомпиллирован с поддержкой netBeans. Если Clewn использовать не получается - можно использовать VimGDB. Он накладывается на Vim до его сборки и выполнен в виде дополнительной опции компиляции. И Clewn и VimGDB используют один и тот же функциональный код, так что результат будет приблизительно один и тот же.
Установка Clewn
Установка Clewn абсолютно стандартна:
Установка VimGDB
Если же установить Clewn по каким-либо причинам не удалось, либо читатель просто решил установить поддержку GDB через VimGDB патч, то нам опять же поможет документ помощи по установке. На этот раз, его VimGDB секция. А именно, для начала архивы с Vim и VimGDB нужно распаковать:
После этого нужно распаковать архив vimgdb_runtime.tgz в свою runtime-директорию. Например, ~/.vim/. Чтобы наверняка её узнать, в запущенном Vim можно выполнить команду
Установка VimGDB в Gentoo
В Gentoo руками нужно делать намного меньше. Большую часть работы система может выполнить за Вас. Также, система в добавок пропатчит Vim некоторыми нужными патчами. Для начала создадим локальное дерево портежей. Далее добавляем туда несколько ebuild-файлов, которые можно скачать или ТУТ. После этого для каждого ebuild-файл нужно создать манифест:
Подготовка к запуску
Возможно, перед запуском (g)Vim читатель захочет добавить себе в .vimrc следующие опции:
Запуск
Теперь запускаем Vim и загружаем в него нужный исходник. Его нужно откомпилировать. Компиляцию можно либо забиндить на какую-либо комбинацию клавиш в Vim, либо откомпилировать исходник непосредственно в консоли. Например, командой:
Теперь опять вернёмся в Vim. Для начала, запустим скрипт macros/gdb_mappings.vim :
Запустим сам GDB. Это можно сделать следующей командой:
Отладка
Во время работы с Clewn/VimGDB очень помогает файл помощи (:help vimgdb). Там же можно узнать основные комбинации клавиш, установленные по умолчанию. Нас интересует запуск программы (Shift+R), установка точки останова (Ctrl+B), шаг с заходом в функции (Shift+S), следующая строка (Ctrl+N).
Первым делам устанавливаем нужные точки останова. После этого можно запустить программу. Выполнение её остановится на первой встретившейся точке останова. После этого можно использовать клавиши шагов (Shift+S, Ctrl+N и т.п.)
Однако что за отладка без просмотра значения переменных? Для того, чтобы отобразить значения переменных для начала вертикально разделим наше окно (Ctrl+W V). Выберем то окно, где будут отображаться переменные. После этого вводим команду:
Просматривать значения переменных можно гораздо удобнее. Например, если в нормальном режиме навести курсор на переменную и нажать Ctrl+P, то в окне GDB отобразится её значение. Если в визуальном режиме(переход в него из нормального - клавишей v или выделением текста мышью) навести курсор на переменную, или выделить её, после чего нажать Ctrl+P, то переменная автоматически создастся и отобразится в буфере gdb-variables.
Иногда в процессе отладки нужно на ходу изменить значение переменной. Для этого нужно выполнить команду, типа:
Редактирование значения переменной тоже можно сделать визуальным. Для этого IMDagger советует добавить в свой (g)vimrc следующую строку:
Замечания
Во время работы были замечены некоторые особенности. А именно: - перед использованием пошаговой отладки программу обязательно нужно запустить. Точнее, при отладке программа запускается всегда. Но обычно в средах разработки при нажатии комбинации клавиш "Шаг на следующую строку" среда автоматически запускает программу и "шагает" на 1 строку. Здесь нужно не забывать ставить точки останова и чтобы дойти до первой нужно нажать Shift+R (запустить программу). - в моей сборке переменные, отображаемые в буфере gdb-variables, действительны на период только одного запуска программы. Т.е. при перезапуске (например, когда прошли все шаги выполнения и программа корректно завершилась) переменные также нужно пересоздать, т.к. имена ранее добавленных переменных отображаются, а значения - нет. Однако у некоторых людей всё нормально работает.
Эта статья будет постепенно совершенствоваться и дополняться. Надеюсь, с Вашей помощью. Также в процессе перевода справка VimgGDB на русский язык.
А вот как выглядит отладка в GVim:

Web: http://demanxp.net.ru
E-Mail: Dem[at]nXP[dot]net[dot]ru
(заменить [at] на "@", [dot] на ".")
ICQ: 606986
- Просмотров: 23701
Версия для печати
reklamkin | цитировать
podcepit | цитировать
Tinkerbabe | цитировать
uambatyzsoa | v</a>, [url=http://kuydafxmlijb.com/]kuydafxmlijb[/url], [link=http://zmertnqaxahg.com/]zmertnqaxahg[/link], http://utwhtmblmspy.com/
цитировать
mylove | цитировать
Pyncexceers | цитировать
Trixypixyx | l-automobile-first-time]fha loans requirements[/url]. building credit for teen. building credit for your business, building credit high score,
цитировать
Creditloanusa | цитировать
Pritteeautomo | [url=http://www.pharmacyreviewer.com/?q=Tramadol&option=com_
medicine&view=search]Buy Tramadol no prescription[/url]
цитировать
Lixakozelkov | ew ]government refinance student loans[/url]. should you use consumer credit testimonials credit cards accepted by ebay.
pse g federal credit union harbor credit card consolidation. money tree payday loan credit, [url=http://smksapg.edu.my/eforum/index.php?topic=3.new#new ]personal loans on line[/url]. bank of amwerica credit cards fixed rate low interest credit cards.
uk personal loans insurance school employees credit uniom. foothill ferderal credit, [url=http://bodydept.home.pl/sklep-en/forum/viewtopic.php?f=
19&t=104198 ]southlake texas home loans[/url]. credit card processing equipment encore merchant consolidated credit card bills.
цитировать
Lixakozelkov | ew ]loans uk from personal online[/url]. credit card systems, iba home loans.
credit card garbber credit union student. scott credit union in illinois, [url=http://doodog.net/smf/index.php?topic=517.new#new ]cheapest rehome loans in britain[/url]. unsecured loans unemployed people, home loans subprime.
cash loans sandwell home loans the hot new product. baygulf credit unioncom, [url=http://harvestfarmfamily.com/valuesforum/index.php?topi
c=578.new#new ]fast auto loans kingman az[/url]. existing mortgage loans florida, totally free credit bureau reports.
using bank debit card in italy, associates credit card services. citicorp credit services in, [url=http://is-model10.com/webborad/index.php?topic=60.new#n
ew ]home builders construction over run loans[/url]. us credit repair letter cell phones poor credit.
цитировать
Siromasher | ices.biz/images/apply-now-for-thetabiz-global-bank-account-i
ntroduction.jpg[/IMG][/URL]
is countrywide required to modify loans disclosure of secured loans. credit card benefits, [url=http://freeloansmoney.com/content/how-much-can-i-borrow
-title-loans/ ]easy cash loans[/url]. grants nigerian student loans credit valley eyecare.
les.wordpress.com/2010/10/cashnow.png[/IMG][/URL]
no credit check bank accounts uk dept education direct loans. glenview illinois municipality credit ratings, [url=http://rilhein.ligool.com/foro/index.php?topic=43.new#n
ew ]how to get loan[/url]. types of home loans in california mortgage arm loans expiring.
цитировать
RuilMcitbut | Позвольте дать всем вам [url=http://ehh.ru]журнал с приколами и юморными фотками[/url], чудесное настроение, а так же красивая улыбка вас не оставят до конца дня.
цитировать
Embomiamegeme | [url=http://www.figgery.com/forum/]ювелирное[/url]
[url=http://www.figgery.com/forum/forumdisplay.php?f=2]ювели
рные изделия[/url]
[url=http://www.figgery.com/forum/forumdisplay.php?f=2]ювели
рные украшения[/url]
[url=http://www.figgery.com/forum/forumdisplay.php?f=3]ювели
рный интернет магазин[/url]
цитировать
chadayarock | [url=http://www.bestauction.ru]seo форум заработок в сети[/url]
[url=http://www.bestauction.ru/forumdisplay.php?f=56]форум дорвейщика[/url]
[url=http://www.sc1.ru/]форум дача[/url]
[url=http://www.klubpokupok.ru/]форум покупателей[/url]
[url=http://www.sc1.ru/forum/]форум стройка[/url]
[url=http://www.sc1.ru/forum/forumdisplay.php?f=65]купить печку[/url]
[url=http://www.sc1.ru/forum/forumdisplay.php?f=66]бани чертежи[/url]
[url=http://www.sc1.ru/forum/forumdisplay.php?f=64]дом на даче[/url]
цитировать
onlineexpressloans | [url=http://onlineexpressloans.com/]bad credit loans[/url]
After all, you're probably familiar with the traditional loan process, where people seem to send away their life histories and still get rejected most of the time.
цитировать
LoansUSAMike | -loans ]loans for unemployed[/url]. shinedown second chance credits new jersey bank loan bad credit.
цитировать
Etencehoott | Ежели нечем предпринимать, то посетите [url=http://gav-gav.info]gav-gav.info[/url], где много развлечений и фото приколов.
Особенно онравятся комиксы из фильмов и демотиваторы на деликатную тему, заходите на http://gav-gav.info и будет вам хорошо.
цитировать
ladychance | [url=http://www.ladychance.ru/]женская одежда купить[/url]
[url=http://www.ladychance.ru/category/futbolki/]магазин футболок[/url]
[url=http://www.ladychance.ru/category/platja-bez-rukavov-le
to/]платья дёшево[/url]
[url=http://www.ladychance.ru/category/vechernie-platja/]жен
ские вечерние платья купить вечернее платье[/url]
[url=http://www.ladychance.ru/category/sportivnaja-odezhda/]
женские костюмы[/url]
Мы доставляем женскую одежду непосредственно с фабрики производителя в Китае.
Поэтому можем радовать своих покупателей низкими ценами на одежду и аксессуары.
цитировать
mourgymow | South koran dating site. Dating cape porpoise, [url=http://amature-match-dating.vvsspeed.com/]amature match dating[/url].
Desperate girls dating, [url=http://dating-forest-oaks.vvsspeed.com/]dating forest oaks[/url]. Single parent dating meridian idaho.
Romantic dating sites. Dating fort lyon, [url=http://dating-newgulf.vvsspeed.com/]dating newgulf[/url].
Sex dating in magherafelt county londonderry, [url=http://dating-salt-flat.vvsspeed.com/]dating salt flat[/url]. Completely free dating for los angeles.
цитировать
FUPATTAZY | цитировать


----------------------------
?
! .
-
:
# ,
# , , email,
# ftp, pr, , socks, proxy
# popunder, sms,
# rambler, gmail
# ftp, direct admin
# , , ,
# cms ,
# , ,
.
,
icq:421156969
----------------------------
?
! .
-
:
- ,
- , , email,
- ftp, pr, , socks, proxy
- popunder, sms,
- rambler, gmail, yandex
- ftp, direct admin
- , , ,
- cms ,
- , ,
.
,
icq:421156969