
- •Лабораторна робота № 4. Розробка простих консольних додатків за допомогою Microsoft Visual Studio 2010 Теоретичні відомості
- •Короткий огляд середовища розробки
- •Компіляція програми у Visual Studio. Виправлення синтаксичних помилок
- •Корисне сполучення клавіш
- •Виконання лабораторної роботи Створення простих консольних програм
- •Компіляція програми у Visual Studio. Виправлення синтаксичних помилок
- •Відладка у Visual Studio. Пошук логічних помилок в програмі
- •Покрокове проходження для пошуку помилки
- •Продовження налагодження
- •Закінчення сеансу налагодження
- •Налагодження в разі аварійного завершення програми
Продовження налагодження
Якщо у сеансі відладки ви пішли з виконуваного коду, то знайти дорогу назад часто буває дуже важко. Виконуваний рядок загубився в одному з багатьох відкритих вікон з кодом. На щастя, для того щоб повернутися назад, ви можете використовувати команду Показати наступний оператор (значок з жовтою стрілкою) в панелі інструментів Налагодження (рис. 39). Це поверне вас на той рядок, який виконувався в момент зупинки відладчика.
Рис. 39. Виклик команди Показати наступний оператор
Закінчення сеансу налагодження
Можна закінчувати сеанс налагодження декількома способами. Один з найбільш часто використовуваних методів - це припинити виконання додатку. Це можна зробити натисканням кнопки Закрити (або х) вікна консольного застосування. При завершенні програми відбудеться також і завершення сеансу налагодження. Завершити сеанс налагодження можна також, вибравши в меню Налагодження (Debug) команду Завершити всі (Terminate All).
Налагодження в разі аварійного завершення програми
Буває так, що в процесі тестування програми на деяких наборах вхідних даних (необов'язково на всіх) раптом відбувається якась подія, після якої програма не може продовжувати роботу і аварійно (передчасно) завершується. Це говорить про те, що в коді програми міститься логічна помилка - помилка часу виконання. Для ефективного пошуку і швидкого виправлення помилки в таких випадках особливо корисно використовувати відладчик.
Розглянемо приклад попередньої програми, змінивши тип даних int на short. На рис. 41 показаний момент виконання цієї програми, коли відладчик ідентифікує помилку і видає відповідне діагностичне повідомлення. У подібних ситуаціях слід переривати виконання програми і уважно вивчати стан всіх об'єктів програми, які призвели до аварійної ситуації. У розглянутому випадку помилка пов'язана з тим, що змінна а може приймати значення, що не перевищують 32767 - максимальне представлення цілого числа в типі short (введено значення 2345678) (див. рис. 40).
Рис. 40. Вікно виконання програми
Щоб виправити цю помилку, достатньо розширити діапазон можливих значень змінних i оголосити тип int.
Рис. 41. Вікно відладчика в момент ідентифікації помилки часу виконання
Помилка має вигляд:
Run time check failure #2 stack around the variable ‘a’ was corrupted - (Невдача перевірки тривалості виконання #2 Стек довкола змінної ‘а’ був зіпсований)
Завдання: Виправіть логічні помилки у вхідному коді програми Приклад_2.
ЛИТЕРАТУРА
1. Пауэрс Л. Microsoft Visual Studio 2008 / Л. Пауэрс, М. Снелл: пер.
с англ. – СПб.: БХВ-Петербург, 2009. – 1200 с.
2. Уотсон К. Visual C# 2008: базовый курс / К. Уотсон, К. Нейгел, Я. Пе- дерсен, Дж. Рид, М. Скиннер, Э. Уайт: пер. с англ. – М.: ООО «И.Д. Виль- ямс», 2009. – 1216 с.
3. Хортон А. Visual C++ 2005: Базовый курс / А. Хортон: пер. с англ. – М.: ООО «И.Д. Вильямс», 2007. – 1152 с.
4. Дейтел Х. C# / Х. Дейтел, П. Дейтел, Дж. Листфилд, Т. Нието, Ш. Йегер, М. Златкина: пер. с англ. – СПб.: БХВ-Петербург, 2006. – 1056 с.
5. Арчер Т., Уайтчепел Э. Visual C++ .NET. Библия пользователя / Т. Ар- чер, Э. Уайтчепел: пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 1216 с.
6. Паппас К. Отладка в С++ / К. Паппас, У. Мюррей III: пер. с англ. – М.: Бином-Пресс, 2001. – 512 с.