Отладчик GDB

Львиная часть работы программиста состоит не написании исходных текстов программ, а в их отладке. Для этих целей используются специальная программа, которая так и называется «отладчик» (debugger).

Одним из самых популярных отладчиков является GDB (GNU Debugger), который был написан легендарным Ричардом Столлманом еще в 1988 году.

GDB — это бесплатный кросс-платформенный отладчик, который позволяет отлаживать несколько языков программирования, включая Си, C++, Free Pascal, FreeBASIC, Ada и Фортран.

Основные задачи отладчика следующие:

  • Выполнить программу до точки останова и сделать паузу
  • Дать программисту доступ к текущему состоянию переменных, массивов, структур данных и локальных данных.
  • Выполнять программу пошагово.
  • Задать условия, при которых программа остановится.

Отладчик выдает программисту полную информацию о работе программы: какие функции выполняются и какие данные изменяются.

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

В сборке Си-экспресс отладчик GDB уже встроен. Его настройки доступны в меню «Настройки — Debugger…»

 

Для работы отладчика нужно включить режим «Debug». В этом случае в скомпилированную программу добавляется информация для отладчика.

Для вызова отладчика есть группа меню «Отладка».

Во время отладки открывается окно Watches, в котором можно видеть значения данных.

Добавить любую переменную в это окно для отслеживания можно щелкнув правой кнопкой мыши на имени переменной.

Отладчик имеет несколько окон, которые дают полную картину программы:

 

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

1. Добавить точку останова по данным:

2. Указать условия для останова:

Когда программа начнет писать в эту переменную, отладчик остановит программу.

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.