На этом шаге мы рассмотрим, как простая программа отображается в окне отладчика.
Поговорим теперь об отладке программ, написанных на языке высокого уровня. Если при трансляции в исполняемом модуле была сохранена отладочная информация, то Turbo Debugger будет работать и с языком высокого уровня. Рассмотрим, например, простую консольную программу, демонстрирующую пузырьковую сортировку. Программа проверена в среде Borland C++ 4.5.
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
void main ()
{
DWORD a[10];
DWORD j,p,k,r;
randomize();
for(j=0; j<10; j++) a[j]=random(10);
//Сортировка
for(k=9; k>1; k--)
{
r=0;
for(j=0; j<k; j++)
{
if(a[j]>a[j+1]){p=a[j+1];a[j+1]=a[j];a[j]=p; r=1;};
}
if(r==0) break;
}
for(j=0; j<10; j++) printf("%lu\n",a[j]);
}
Не забудьте перед компиляцией программы вызвать Target Expert, щелкнув правой кнопкой мыши в тексте программы, и установить параметры, приведенные на рисунке 1.
Рис.1. Параметры проекта
На рисунке 2 показано окно отладчика Turbo Debugger с данной программой. В нижней части рисунка расположено окно Watches. В этом окне отображаются значения элементов массива а[]. Обратившись к окну CPU, можно увидеть, как программа пузырьковой сортировки, реализованная на языке С, преобразуется в ассемблерный код.
Рис.2. Отображение программы в окне отладчика
Рис.3. Окно CPU
На следующем шаге мы рассмотрим методику отладки.