12/07/2008

Удобство отладки.

Не секрет, что очень много времени программист использует для отладки своих программ.
В Линукс, для отладки приложений пользовательского уровня используется интерактивный отладчик GDB. По умолчанию, GDB предполагает использование интерфейса командной строки, что для некоторых представляется очень и очень неудобным, и вообще...
И вообще такие люди говорят:" Вот бы нам такой отладчик. как в Visual Studio!".
На самом деле для GDB очень давно существует подобный интерфейс.
И, как вы уже наверное догадались, для этого нам понадобится "текстовый редактор" Emacs.
Итак начинаем отладку.
Запустим Emacs в каталоге с программой, которую собираетесь отлаживать. Так же было бы неплохо, чтобы в этом же каталоге лежали еще и исходные тексты.
Для активизации режима отладки, нужно в минибуфере набрать gdb.
На что вы получите примерно следующее приглашение:
Run gdb (like this): gdb --annotate=3 main.
В большинстве случаев этого достаточно.
Жмем Enter, и после этого опять же в минибуфере, активируем много-оконный режим:
M-x gdb-many-windows
после активации получится примерно следующее:

В центре исходник вашей программы.Слева вверху - консоль GDB. Справа, рядом с ней список отображающий значения регистров или переменных. Внизу слева - Стек. Справа - список точек останова программы.
Итак, поехали. Для запуска программы пожно либо написать в консоли gdb start, либо воспользоваться соответствуюим пунктом из меню GUD.
Точки останова можно ставить как с помощью консоли, так и с помощью мыши, просто кликнув на серой полоске (не знаю как она называется по научному) около понравившейся строки:
Все понятно и наглядно представлено. Более того, если устновить курсор на какую-нибудь переменную, и нажать на кнопку P на панели инструментов, то распечатается значение этой переменной. Точно таким же образом можно наблюдать за состоянием переменной, установив Watchpoint. С помощью той же панели инструментов можно побродить вверх и вниз по стеку. Можно с помощью удобных кнопочек осуществлять пошаговую отладку.
В общем весьма удобно и по функционалу ничем не хуже, чем Visual Studio.
З.Ы. Кому интересно, предлагайте, допишу что нибудь еще.

Комментариев нет:

Отправить комментарий