yandex rtb 1
ГоловнаЗворотній зв'язок
yande share
Главная->Різні конспекти лекцій->Содержание->4.9 Мистецтво налагодження

Організація баз даних і знань

4.9 Мистецтво налагодження

 

Принадність роботи програміста багато в чому пов'язана з налагодженням. Налагодження - це деякий детективний процес. Знов створену програму ми підозрюємо у тому, що вона працює не коректно. На жаль, налагодження не може гарантувати, що програма коректна, навіть якщо всі тести пройшли успішно. Налагодження може довести некоректність програми, але вона не може довести її правильності.

Мистецтво тестера полягає в тому, щоб створити по можливості повну систему тестів, що перевіряє всі можливі галузі обчислень. Пояснимо це на найпростішому прикладі. Нехай програма знаходить суму перших N елементів масиву X, що містить M елементів. Крім "нормального" тесту, що перевіряє ситуацію, у якій 1<N<M, варто перевірити й крайні випадки: N=1, N=M, N=0, N<0, N>M. Але це простий випадок, а цикли звичайно вкладені, і усередині них виробляється розбір випадків, усередині яких свої цикли.

Складність налагодження полягає й у тому, що, виявивши й виправивши помилку, ви одержуєте нову програму, для якої процес налагодження потрібно починати заново, знову пропустивши всі тести. Відомо, що в програмах зустрічаються зачаровані місця, - виправлення однієї помилки веде до появи нової. У таких випадках кращим виходом буває пошук іншого, принципово іншого вирішення завдання.

Засоби налагодження

Частина помилок програми ловиться автоматично ще на етапі компіляції. Сюди ставляться всі синтаксичні помилки, помилки невідповідності типів і деякі інші. Однак синтаксично коректна програма має потребу в налагодженні, оскільки, хоча результати обчислень й отримані, але вони не відповідають необхідним специфікаціям. Найчастіше, ще не налагоджена програма - на одних вихідних даних працює правильно, на інші - дає помилковий результат. Мистецтво налагодження полягає в тому, щоб виявити всі ситуації, у яких робота програми призводить до помилкових обчислень. VBA має досить витончені засоби, призначеними для налагодження програм, тобто для виявлення помилок у програмах (тестування) і їхнього виправлення. Є дві групи засобів VBA, що допомагають програмістові виявити й виправити помилки:

1.       Перша група дозволяє контролювати хід обчислювального процесу, тобто порядок проходження операторів у процедурах, порядок виклику самих процедур. При необхідності в процесі налагодження дозволяється змінювати цей порядок, можна, наприклад, пропускати виконання деяких операторів, або повторно повертатися до їхнього виконання.

2.       Друга група засобів дозволяє контролювати зміни стану обчислювального процесу (значень змінних і властивостей об'єктів) у процесі виконання. І тут можна вмішатися й змінити стан, залежно від того, як ідуть справи, нові значення для тих або інших змінних.

У ході налагодження програма може перебувати в одному з трьох станів: проектування, обчислення й переривання. Закінчивши проектування, можна запустити програму на виконання. Перервавши виконання програми в заданій точці, перейшовши в стан переривання, можна проконтролювати значення змінних і властивостей об'єктів у даній точці й, якщо потрібно, змінити ці значення "вручну". При цьому можна змінити порядок виконуваних операторів і редагувати програмний текст перед продовженням обчислення. Перехід зі стану обчислення в стан переривання може відбуватися через різні причини, наприклад, по досягненні точки переривання, при виконанні однієї із численних умов переривання, через покрокове виконання програми.

 

54