Отладчик интегрированной среды


Для того, чтобы отладка программы в IDE стала возможной, необходимо выполнить компиляцию и компоновку програм­мы с включенной опцией Source Debugging, расположенной в меню опций отладчика (Маin Menu-Options-Debugger).

Встроенный отладчик IDE позволяет:­

1) выполнить программу по шагам, строка исходного тек­ста за строкой;

2) выполнить программу до заданной строки, называемой далее точкой останова (Breakpoint);

3) проследить изменение заданных переменных програм­мы и при необходимости установить для них новые значения.

Команда Тгасе into из меню Run ("горячая" клавиша F7) запускает программу на отладку. Интегрированная среда вы­свечивает строку программы, содержащую точку входа main(). После зтого нажатием клавиши F7 вызывают выполнение ко­да, соответствующего одной строке текста программы. Если в строке записана ссылка на функцию, начинается трас­сировка по тексту функции. (Библиотечные функции выпол­няются без трассировки за одно нажатие клавиши F7). При необходимости выполнения строки Си-текста за один шаг ис­пользуется клавиша F8 (команда меню Run Step over).

Для ускорения процесса отладки используется команда Go to cursor меню Run ("горячая" клавиша F4). Программа вы­полняется до строки, в которой в данный момент располагает­ся текстовый курсор. Например, если программа попадает в цикл и пользователь не хочет выполнять по шагам все eгo итерации, не­обходимо переместить курсор на следующую после тела цик­ла строку текста и нажать клавишу F4. Точно так же можно пропуститъ ту часть отлаживаемой программы, детальный ана­лиз которой не требуется.

Другая возможность ускоренноro выполнения отлаживаемой про:граммы - использование точек останова. Включение точки выполняет команда Toggle breakpoiпt меню Debug ("roрячая" клавиша Ctrl-F8). Точка помещается в той строке програм­мы, где располагается текстовый, курсор. Повторное выполне­ние комaнды Toggle breakpoint удаляет точку останова. Стро­ка Си-текста с точкой останова высвечивается на экране другим цветом.

Когда исполняющаяся программа дocтигaeт точки останова, IDE проверяет условие, которое может быть задано для нее. Если условие не задано, эта точка считается точкой безусловного ос­танова. Здесь выполнение програм­мы всегда останавливается и может бытъ продалжено либо по шагам (клавиша F7), либо до курсора (клавиша F4), либо до следующей точки останова (клавиша Ctrl-F9).

Если же с точкой останова связано какое-то условие, она назы­вается условной. Выполнение программы здесь останавливается только, если в этот момент вычисленное условие истинно. Задание условий выполняется через окно диa­лога, oткpываемое при выполнении команды Breakpoiпts... ме­ню Debug.

Нажатие кнопхu yправле­ния Delete удаляет точку останова из текста программы. Поле Pass указывает число прохождений точки до останова.

Если необходимо задать или скорректировать условие ос­танова, используется окно диалога, открываемое при нажа­ти" кнопки управления Edit.

Исключительно полезное свойство встроенного отладчика IDE - возможность наблюдения за изменением значений пе­ременных в ходе выполнения прогpaммы. Интегрированная среда использует для этого специальное окно с именем Watch. Оно появляется сразу же после нажатия клавиши F7. Задание имен переменных или. выражений, называемых далее точками нaблюдения, выполняется коман.дой Watches меню Debug. Ее выполнение открывает подменю, содержащее коман­ды управления точками наблюдения: Add watch..., Delete watch, Edit watch..., Remove all watches.

Команда Add Watch ("горячая" клавиша Ctrl- F7 в случае, когда активно текстовое окно) добавляет в окно Watch новую точку наблюдения. При выполнении команды открывается окно диалога, с использованием которого задается любое допуcтимое выражение языка Си, в том числе имя переменной, и, если необходимо, через запятую cnецифицируется формат представления переменной. По умолчанию выражением яв­ляется слово в текущей позиции курсора активного окна ре­дактирования, а формат выбирается по типу переменной.

После того, как завершен ввод выражения, нажимается кла­виша ENTER и в окне Watch появляется новая cтрокa, покa­зывающая текущее значение вычисленного выражения. В табл. 4 приведены спецификаторы формата, распознаваемые IDE в oтладочных выражениях.

Табл.4. Спецификaтoры формата для oтладoчных выражений

Символ формата Производимое действие
с Oтo6ражает значение как ASCII-символ
d Отображает целое число в десятичной системе счисления
f[n] Отображает число с плавающей точкой; n - нео6язательный спецификатор числа знаков после десятичной точки
h или x Отображает целое число в шестнадцатеричной системе счисления
m Отображает коды байтов (дамп) области памяти, выделенной под переменную
p Oro6ражает указатель в форме segment:offset. для nеar-указателей зеgшent содержит имя сегментного регистра (D5, Е5, CS, 55)
r Отображает значение каждоro паля структуры или объединения
s Отображает значение как ASCIIZ-строку

Окно Watch, когда оно активно, позволяет выполнить до­бавление, удаление и редактирование точки наблюдения без использования команды подменю Watch. Высвеченная в окне Watch строка соответствует текущей точке наблюдения. Ее редактирование осуществляется простым нажатием клавиши ENTER. В окно диалога будет копироваться те­кущее выражение. Для удаления текущей точки наблюдения нажимается клавиша Del. Добавление новой точки наблюде­ния происходит при нажатии клавиши Ins. Команда Remove all watches подменю Debug-Watches полностью очищает окно Watch.

Кратко отметим другие возможности встроенного отладчика IDE. Прежде всего это возможность просмотра и изменения зна­чений переменных в процессе . отладки программы. Команда Evaluate/modify... меню Debug ("горячая" клавиша Ctrl-F4) открывает окно диалога, содержащее три поля: поле Expression для задания выражения, поле Result, где отобра­жается результат выполнения выражения, и поле New Value для задания, если это возможно, нового значения выражения.

В поле ввода Expression задается любое выражение языка Си, включая константы, имена переменных и символы формата. В этом поле помещается имя переменной, на кото­рую указывал курсор в текстовом окне в момент нажатия клави­иш Ctrl-F4, или выражение текущей точки наблюдения, если ак­тивным является окно Watch. Когда завершен ввод в поле Expression, нажатие клавиши ENTER заставляет вычислить вы­ражение. Результат отображается в поле Result. Команда Evaluate/modify... часто используется программистами вместо калькулятора для вычислений. Например, задав выражение (23567+0xlabc)/0xf4,x, можно получить результат сложения и деления констант в шестнадцатеричной системе счисления. Активизировав поле ввода New Value в окне диалога, туда мож­но записать новое значение для переменной. Для того чтобы оно было воспринято “нажимается” кнопка Modify или кла­виша ENTER. Новое значение переменной немедленно ото­бражается в окне Watch.

Команда Inspect меню Debug позволяет исследовать и мо­дифицировать ячейки памяти, отведенные под переменные. Окно Inspect может быть открыто нажатием "горячей" клави­шиАlt-F4.

В ходе отладки программы можно сразу вносить изменения в ее текст. После каждого изменения отладчик запрашивает подтверждение на продолжение сеанса отладки или предлагает повторную компиляцию программы. Если необходимо начать выполнение программы сначала, не дожидаясь ее завершения, используется клавиша Ctrl-F2.

Вопросы для самоконтроля

  • Перечислите компоненты Турбо С!
  • Как выполнить переключение окон при работе с Турбо С?
  • Для чего используется команда Save all?
  • Как выполняется смена текущего директория в Турбо С?
  • Для каких целей используется команда Directories меню Options?
  • Как выполнить выход из зацикленной программы?
  • Для чего применяются горячие клавиши F7 и F8 в процессе выполнения программы в Турбо С?


Дата добавления: 2016-05-26; просмотров: 1625;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.