значення змінних в момент виконання процедур, використовуючи для цього команду MSGBOX <текстова змінна>. Текстова змінна зазвичай формується, включаючи коментарі пояснюють значення змінних. Наприклад, нам необхідно вивести номер рядка таблиці (змінна NstrTab) і номер стовпчика (змінна NcolTab), над якими йде обробка. У цьому випадку можна скористатися наступною програмою:
tt = Рядок = & NstrTab & Chr (10)
tt = Стовпець = "& NcolTabtt
Потужним засобом налагодження в режимі інтерпретатора є режим покрокового проходу по рядках процедури. Цей режим задається натисканням клавіші F8. p align="justify"> Натискаючи щоразу F8 розробник проходить одну команду (або рядок) процедури і зупиняється на наступній. Тут він може проконтролювати значення потрібних змінних, внести необхідні корективи в алгоритм або здійснити контрольні обчислення у вікні безпосередніх операцій і потім перейти до наступного рядка процедури. p align="justify"> Використовуючи комбінацію клавіші F8 з іншими клавішами (наприклад, Shift), можна пропускати (тобто виконувати без зупинки) деякі блоки рядків у процедурі. Високоефективний шлях налагодження програми полягає в тому, щоб користувач написав такий власний драйвер помилок, який може перехоплювати будь-які системні помилки. Виникаючі під час виконання програми. p align="justify"> Драйвер помилок - це така програма, яка включається в текст основної програми і реагує на виникнення помилки, перехоплює управління і видає відповідне повідомлення.
Перехоплення системних помилок здійснюється інструкцією
ON ERROR GOTO <мітка рядка>
Мітка рядки - це комбінація алфавітноціфрових символів без пробілів, що закінчується знаком "двокрапка", яка встановлюється на початку рядка, на яку слід переходити у випадку виникнення помилки. А повідомлення про помилку можна отримати за допомогою властивостей об'єкта Err. p align="justify"> NumberВозвращает код ошібкіSourceІмя поточного проектаDescriptionВозвращает рядковий вираз, що містить текст сообщеніяHelpFileПолное ім'я файлу справкіHelpContextКонтекстний ідентифікатор файлу довідки. LastDLLErrorСодержіт системний код помилки для останнього дзвінка бібліотеки динамічного компонування (DLL)
Приклад організації перехоплення і обробки помилок у процедурах
Sub Тест1 ()
- Включення перехоплення помилок ---
On Error Goto МЕТКА1
<блок операторів процедури>
- оператор дострокового виходу з процедури -
- Драйвер обробки помилок ----------
МЕТКА1:
tt = "Помилка =" & Err. Description & chr (10) = "Продовжити...