I, j:Integer; begin

i:=10;

j:=20;

i:=i+j;

if i>0 then exit; end;

Здесь я всего лишь добавил в самом конце процедуры проверку переменной i. Если она больше нуля, то произойдёт выход процедуры. Если так подумать, то этот код тоже не влияет на ход работы программы, потому что даже если i будет меньше нуля, процедура всё равно заканчивается и произойдёт выход. Но если теперь откомпилировать программу, то сообщений не будет и слева от строк кода появятся синие точки. Вот такой код уже имеет смысл отлаживать.

Запусти программу и как только ты нажмёшь на кнопку, то выполнение остановится и управление получит Delphi. Чтобы продолжить выполнения программы до следующей строки можно нажать F8.

Если выделенная строка – твоя процедура или функция, то можно нажать F7, чтобы отладчик перешёл внутрь этой процедуры и продолжил её выполнение построчно. Если ты нажмёшь F8, то отладчик выполнит процедуру без тебя и перейдёт дальше. В этом случае ты не сможешь посмотреть, что происходит внутри процедуры.

Если ты хочешь, чтобы отладочный режим закончился и программа продолжила выполнятся самостоятельно, то нажми F9. После этого программа продолжит своё выполнение с последней остановленной точки. Если ты хочешь совсем остановить работу программы, то нажми Ctrl+F2 или выбери из меню Run пункт Program Reset и программа будет выгружена из памяти.

Если ты хочешь посмотреть, какое значение хранится в переменной, то надо её выделить и нажать Ctrl+F7 или выбрать Evaluate/Modify из меню Run. Перед тобой откроется окно, как на рисунке 24.1.2. Если ты видишь, что значение неправильное и хочешь его изменить, то в строке New value нужно ввести нужное значение и нажать кнопку Modify. Чтобы перечитать значение переменной нужно нажать кнопку Evaluate.

В окне Evaluate/Modify можно вводить не только переменные, но и целые выражения. Например, поставь точку прерывания в примере выше на первой строчке кода процедуры Button1Click. Теперь запусти программу и нажми кнопку. Выполнение программы должно прекратиться и управление перейдёт в Delphi. Нажми F8, чтобы выполнить первую строку кода и перейти на вторую. Текущая строка должна быть выделена синим цветом. Теперь нажми Ctrl+F7 и в строке Expression окна Evaluate/Modify введи следующее выражение: i+10. Нажми Enter или кнопку Evaluate, чтобы просчитать это выражение. В строке Result должно появиться значение 20, потому что переменная i равна 10 плюс ещё 10 получаем результат 20.

Введи в строку Expression просто переменную i. Перечитай её значение нажатием кнопки Evaluate. Теперь с строке New Value введи значение 15 и нажми кнопку Modify. Теперь переменная i должна равняться 15. Проверь это нажатием кнопки Evaluate.

Попробуем ввести в строке Expression выражение i=10. Здесь используется операция сравнения переменной i и числа 10. Если переменная равна 10, то мы должны увидеть в строке Result значение true, иначе false.

Теперь надо сказать пару слов о видимости переменных. Останови работу программы. Для этого можешь нажать Ctrl+F2, чтобы программа выгрузилась без сохранения данных или продолжи программу нажатием F9 для окончания отладочного режима и закрой окно программы. Снова запусти программу нажатием F9 из Delphi. Нажми кнопку в окне программы и снова Delphi прервёт выполнение и перейдёт в отладочный режим. Выдели переменную i и нажми Ctrl+F7, чтобы увидеть значение переменной. Вместо её значения, в строке Result ты увидишь следующий текст: Variable 'i' inaccessible here due to optimization. Этот текст гласит примерно следующее (в моём вольном переводе): переменная i недоступна в этом месте потому что оптимизирована. В данном случае программа остановила своё выполнение на строке:


 

i:=10;

здесь мы присваиваем переменной i значение 10, до этого кода переменная не имеет значения, поэтому мы и увидели такую надпись. Попробуй выполнить эту строку нажатием F8 и снова посмотреть значение переменной i. Теперь значение равно десяти.

Попробуй выполнить процедуру до самого конца. Остановись на следующей строчке: