- •Лабораторна робота № 4. Розробка простих консольних додатків за допомогою Microsoft Visual Studio 2010 Теоретичні відомості
- •Короткий огляд середовища розробки
- •Компіляція програми у Visual Studio. Виправлення синтаксичних помилок
- •Корисне сполучення клавіш
- •Виконання лабораторної роботи Створення простих консольних програм
- •Компіляція програми у Visual Studio. Виправлення синтаксичних помилок
- •Відладка у Visual Studio. Пошук логічних помилок в програмі
- •Покрокове проходження для пошуку помилки
- •Продовження налагодження
- •Закінчення сеансу налагодження
- •Налагодження в разі аварійного завершення програми
Покрокове проходження для пошуку помилки
Після того як в нашому прикладі відладчик, зустрівши точку зупину, перервав виконання програми, далі можна виконувати код по крокам (режим трасування). Для цього можна вибрати команду Крок із заходом (Step Into) на панелі інструментів Налагодження (Debug) (або натиснути функціональну клавішу F11). Це призведе до послідовного виконання коду по одному рядку, що дозволить вам бачити одночасно і хід виконання додатку, та стан об'єктів програми по мірі виконання коду. Якщо зробити так в нашому прикладі, то ви побачите помилку: число 0, привласнене при оголошенні змінної фіктивно стане мінімальним.
Команда Крок із заходом (F11) дозволяє просуватися по коду по одному рядку. Виклик цієї команди виконає поточний рядок коду і помістить курсор на наступну виконувану рядок. Важлива відмінність між Крок із заходом та іншими схожими командами полягає в тому, як Крок із заходом обробляє рядки коду, в яких містяться виклики функцій. Якщо ви знаходитесь на рядку коду, який викликає іншу функцію програми, то виконання команди Крок із заходом перенесе вас на перший рядок цієї функції.
Однією з більш зручних (і часто упускаємим) функціональних можливостей набору інструментів відладки є функція Виконати до поточної позиції (Run To Cursor). Вона працює в повній відповідності зі своєю назвою. Ви встановлюєте курсор на якийсь код і викликаєте цю команду (див. рис. 37).
Рис. 37. Вибір команди в виклику режиму Виконати до курсору
Додаток компілюється і виконується до тих пір, поки не доходить до того рядка, де знаходиться курсор. У цій точці відладчик перериває додаток і видає вам цей рядок коду для покрокового проходження. Ця можливість особливо зручна, оскільки саме так працюють багато розробників. Вони дивляться на конкретний рядок (або рядки) коду і хочуть їх налагодити. Вони не хочуть починати з першого рядка і не хочуть займатися точками зупину.
Тому функція Виконати до поточної позиції є ефективним засобом привести відладчик на ту сторінку, де ви зараз перебуваєте. На рис. 37 показана ця функція, викликана з контекстного меню.
Команда Виконати до поточної позиції працює навіть у тому випадку, коли користувач повинен активізувати якийсь фрагмент коду перед тим, як виконання дійде до положення курсора. Таким чином, фактично це - невидима тимчасова точка зупину.
Рис. 38. Виклик команди Виконати до поточної позиції
Команда Крок з обходом (Step Over) (F10) дозволяє вам зберігати фокус в поточній функції (не заходячи в підпрограми, що викликаються нею), тобто виклик Крок з обходом призведе до виконання рядка за рядком, але не заведе вас у виклики функцій і при цьому наступним виконуваним рядком для покрокового проходження стане наступний за викликом функції рядок.
Команда Крок із виходом (Step Out) (SHIFT + F11) - це ще один корисний інструмент. Він дозволяє вам дати вказівку відладчику закінчити виконання поточної підпрограми (яку ви налагоджуєте) і повернутися в режим зупинки відразу після її завершення. Це дуже зручно тоді, коли ви загрузли в довгій підпрограмі, яку варто було б пропустити. Крім того, ви можете увійти в дану підпрограму для налагодження лише її частини, а потім вийти з неї.
