- •1.Розробка системи оперативної довідки
- •1.1.Меню Help
- •1.2. Малюнок 1. Вікно довідки. Кнопка Help в екранній формі
- •1.4.Виклик контекстно-залежної довідки кнопкою What's This?
- •1.5. Малюнок 2. Екранна форма, у якій установлена кнопка виклику контекстної довідки. Використання html Help Workshop
- •1.5.1.Створення проекту системи оперативної довідки
- •Малюнок 3. Діалогове вікно New.
- •Малюнок 4. Діалогове вікно Existing Files.
- •1.5.2.Таблиця змісту
- •Малюнок 5. Вікно щойно створеного проекту.
- •Малюнок 6. Заповнення таблиці змісту.
- •1.5.3.Предметний покажчик
- •Малюнок 7. Заповнення контекстного вказівника.
- •1.5.4.Додавання в проект html-файлів розділів довідки
- •1.5.5. Малюнок 8. Заготівля html-файлу, оформлена html Help Workshop. Зв'язки між файлами розділів і url
- •1.6.Додавання і видалення файлів розділів довідки
- •Малюнок 9. Діалогове вікно Topіc Fіles.
- •1.7.Компіляція системи оперативної довідки
- •1.8.Контекстно-залежні розділи довідки
- •Малюнок 10. Діалогове вікно Options.
- •Малюнок 11. Wizard Selection
- •Малюнок 12. Вікно Application Builder.
- •1.8.1.Включення файлу відображення в проект системи оперативної довідки
- •1.8.2. Малюнок 13. Включення файлу відображення в проект системи оперативної довідки. Зв'язування HelpContextіD з html — файлами розділів довідки
- •1.8.3. Малюнок 14. Діалогове вікно для організації зв'язування файлів розділів довідки і HelpContextі у додатку. Розділи довідки, що викликаються кнопкою What's This?
- •Малюнок 15 Екранна форма Visual FoxPro, налаштована на використання довідки What's This?
- •1.9.Поширення готової системи оперативної довідки
- •2.Пошук і обробка помилок, тестування проекту
- •2.1.Проблема помилок у програмному продукті
- •2.2.Пошук помилок у програмному коді
- •2.2.1.Синтаксичні помилки
- •2.2.2.Логічні помилки
- •2.2.3.Виключення
- •2.3.Розбивка коду на модулі для мінімізації помилок
- •2.4.Помилки при передачі параметрів
- •2.5.Використання команд exіt і return
- •2.6.Обробка ушкоджених файлів
- •2.7.Тестування та налагодження додатків
- •2.7.1.Технологія тестування
- •2.7.2.Створення середовища для тестування
- •2.7.3.Створення тестових наборів даних, що забезпечують повноту накриття додатка
- •2.7.4.Документування тестових наборів
- •2.8.Методика перехоплення помилок
- •2.9.Налагоджувальник
- •Малюнок 16. Налагоджувальник Visual FoxPro.
- •2.9.1.Використання вікна Trace
- •Малюнок 17. Панель інструментів налагодження
- •Малюнок 18 Діалогове вікно Breakpoints
- •2.9.2.Використання вікна Locals
- •Малюнок 19. Діалогове вікно Locals
- •2.9.3.Використання вікна Watch
- •Малюнок 20. Діалогове вікно Watch.
- •2.9.4.Діалогове вікно Call Stack
- •2.9.5.Використання вікна Debug Output
- •2.9.6.Діалогове вікно Event Tracking
- •Малюнок 21. Діалогове вікно Event Tracking.
- •2.10.Використання Coverage Profiler
- •Малюнок 22. Додаток Coverage Profiler у режимі відображення покриття.
- •2.11. Малюнок 23. Додаток Coverage Profiler у режимі відображення профілю. Використання процедур обробки помилок
- •2.11.1.Використання методів обробки події error в об'єктах
- •3.Література
- •4.Перелік ілюстрацій
Малюнок 18 Діалогове вікно Breakpoints
Другий варіант
аналогічний першому, але враховується
не кількість проходів через оператор,
а значення в цей момент деякого вираження.
Одна з кнопок у групі, розташованої в правому нижньому куті діалогового вікна, — Remove — дозволяє видалити встановлену раніше точку зупинки. Для цього потрібно виділити вже не потрібну більш точку зупинки в списку Breakpoints і клацнути на цій кнопці. Нова функція в Visual FoxPro 6 — можливість деактивувати точку зупинки, але не видаляти її остаточно. Для цього знову ж потрібно виділити тимчасово точку зупинки що блокується в списку Breakpoints і клацнути на кнопці Dіsable. Повторний щиглик на цій же кнопці стосовно раніше блокованої точку зупинки знову приведе її в активний стан. При зміні статусу активності точки зупинки змінюється стан прапорця у відповідному рядку списку Breakpoints. Призначення кнопки Clear All видалити усе раніше встановлені точки зупинки.
Потрібно мати на увазі що скасування виконання програми в режимі налагодження, по-перше, залишить відкритими файли і вікна, по-друге, не дозволить завершитися початим операціям відновлення даних, а файли і записи залишить у стані блокування, якщо раніше вони в цей стан були переведені програмою. Крім того, ті перемінні стану, що були змінені командами SET у програмі, не будуть відновлені.
2.9.2.Використання вікна Locals
Діалогове вікно Locals залишається порожнім доти, поки програма виконується, як тільки відбудеться зупинка виконання (через вихід на точку зупинки чи з іншої причини) у вікні з'являться усі визначені на поточний момент перемінні, а також їхні значення і типи. Цей список відноситься тільки до поточної підпрограми (процедури чи функції), тобто до тієї підпрограми, у якій зупинилася програма. Таким чином, “локальність” відноситься до області видимості перемінних — це ті перемінні, котрі сприймаються поточною підпрограмою. На Малюнок 19 показано діалогове вікно Locals.
Малюнок 19. Діалогове вікно Locals
Значок “плюс”
перед ім'ям перемінної означає, що можна
розгорнути цей об'єкт і переглянути
значення його властивостей. Якщо ж
об'єкт є контейнером, можна продовжити
“проникнення” всередину і розгорнути
об'єкти, що контейнер містить. Таким
чином, дослідження об'єктів може
продовжуватися доти, поки не вийде на
рівень базових.
Список, що розкривається, у верхній частині діалогового вікна Locals дозволяє проаналізувати не тільки поточну, але й інші підпрограми, тобто можна переглянути, які з перемінних видимі в цих підпрограмах. Потрібно вибрати зі списку ту, що вас цікавить, і на екрані з'явиться список усіх перемінних, котрі цій підпрограмі доступні. Очевидно, що в нього будуть включені всі глобальні і приватні перемінні, визначені в даній підпрограмі й у тіх, що се викликали. Локальні ж перемінні видимі тільки в підпрограмі, у якій вони були визначені.
Значення перемінних можна також побачити і у вікні Trace – для цього достатньо встановити курсор на змінну і нижче курсору буде виведено контекстне вікно підказки у якому буде відображено значення перемінної.
2.9.3.Використання вікна Watch
У процесі налагодження програміст досить часто зіштовхується із ситуацією, коли потрібно простежити зміну значення деяких перемінних по ходу виконання програми. Користатися в цьому випадку вікном Locals досить незручно, оскільки в ньому виводиться і безліч інших, не цікавлячих вас перемінних. Іноді вас цікавить не стільки значення окремих перемінних, скільки значення вираження, у яке ці перемінні входять. У кожнім з перерахованих випадків дуже до речі буде діалогове вікно Watch. У поле Watch цього вікна потрібно ввести ім'я перемінної вас цікавить чи вираження що необхідно аналізувати, причому під “увести” розуміється не тільки безпосереднє введення з клавіатури, але і перенос (буксирування) відповідного тексту з вікон Trace чи Locals. Після введення перемінна чи вираження з'являються в списку нижче поля Watch. Якщо Visual FoxPro має всі необхідні дані для обчислення значення вираження чи перемінна виявляється в зоні видимості, то відповідні значення виводяться в другому стовпчику, а тип — у третій. У противному випадку в колонку Value проти вираження чи імені перемінної виводиться повідомлення Expression could not be evaluated (Значення вираження неможливо підрахувати).
На Малюнок 20 показане діалогове вікно Watch. Зверніть увагу — якщо у вікні Locals можна було переглянути перемінні з будь-якої підпрограми, то у вікні Watch виводяться значення тільки тих перемінних і виражень, що виявилися в зоні видимості в поточному стані програми.