Розуміння налагоджувача .NET у Visual Studio
У попередньому підрозділі ви дізналися, що налагоджувач допомагає контролювати виконання програми та спостерігати за її станом. У цьому розділі ви дізнаєтеся, як виконувати обидва ці завдання у Visual Studio.
Почнімо з того, як використовувати налагоджувач Visual Studio з .NET.
Початок роботи з налагоджувачем Visual Studio
Натисніть кнопку Пуск (суцільний зелений трикутник) на панелі команд Visual Studio, щоб запустити програму з вкладеним налагоджувачем. Зверніть увагу, що панель команд тепер містить назву проекту. Після запуску програми стануть доступними інші інструменти та функції налагодження.
- Конфігурація рішення визначає, чи слід запускати нашу програму в режимі налагодження або випуску
- Конфігурація платформи визначає цільову платформу ЦП
- Запуск програми з вкладеним налагоджувачем
- Запуск програми без вкладення налагоджувача
Керування виконанням
Коли програму запущено, поруч із кнопкою Пуск , яку ви натиснете, з'являться елементи керування налагодження, щоб запустити програму.
- 1) Продовжити або призупинити виконання. Якщо виконання призупинено на точці зупинки, натисніть цю кнопку, щоб продовжити, доки не відобразиться наступна точка зупинки. Якщо програму запущено, кнопка переключиться на кнопку призупинення, яку можна використовувати для призупинення виконання.
- 2) Елементи керування "Гаряче перезавантаження". Ця функція, представлена у Visual Studio 2022, дає змогу вносити зміни та оновлювати код без перезавантаження програми.
- 3) Зупинити. Ця кнопка зупиняє запущену програму, яка також від'єднує налагоджувач.
- 4) Перезапустіть. Зупиняє та відновлює програму з прикріпленим налагоджувачем.
-
5) Крок у. Якщо наступна інструкція – це виклик функції, перейдіть униз до першого коду цієї функції (так само, як і команда
step). - 6) Покрокове. Якщо наступна інструкція – це виклик функції, виконайте код, але відразу переходьте до наступного рядка коду поточної функції.
-
7) Вийдіть. Якщо ви перебуваєте в межах функції, виконайте решту коду цієї функції та поверніться до оператора після початкового виклику функції (так само, як і команда
out).
Точки зупинки є однією з основних функцій налагодження, і вони інтегруються з цими елементами керування, тому давайте розглянемо їх докладніше.
Точки зупинки
Як ви дізналися в попередньому підрозділі, налагоджувач допомагає аналізувати та контролювати виконання програми. Коли ви запускаєте програму з вкладеним налагоджувачем Visual Studio, код відразу почне виконуватися. Оскільки код виконується швидко, потрібно призупинити програму на будь-якому операторі. Для цього точки зупинки.
У Visual Studio можна додати точку зупинки, клацнувши ліворуч номер рядка в рядку, який потрібно розірвати. Після ввімкнення точки зупинки з'явиться червоне коло. Щоб видалити його, знову виберіть червоне коло.
Якщо ви клацнете правою кнопкою миші, щоб додати точку зупинки або клацніть правою кнопкою миші наявну точку зупинки, можна також вибрати команду Додати умовну точку зупинки. Цей спеціальний тип точки зупинки дає змогу визначити умову або умови, коли точка зупинки активується. Це меню також дає змогу вибрати параметр Увімкнути лише тоді, коли з'явиться така точка зупинки , щоб створити, окрім інших дій, виконання ланцюгових точок зупинки.
Ви також можете скористатися тимчасовою точкою зупинки , якщо потрібно розірвати код лише один раз. Ви можете застосувати тимчасові точки зупинки, клацнувши правою кнопкою миші стовпець точки зупинки та вибравши пункт Вставити тимчасову точку зупинки. Тимчасові точки зупинки буде видалено після першого натискання.
Ви також можете додати точки трасування , клацнувши правою кнопкою миші стовпець точки зупинки та вибравши пункт Вставити точку трасування. Tracepoints дає змогу записувати відомості у вікно виводу в настроюваних умовах, не змінюючи та не зупиняючи виконання коду.
Нарешті, у вікні Breakpoints (Налагодження>Windows>Breakpoints) можна переглядати та переключати всі точки зупинки, розміщені в коді. Ви також можете переключитися між параметрами, щоб переривати винятки, які виловили або не натискали. За допомогою панелі Breakpoints можна перевірити стан програми та відстежити джерело винятку за допомогою стека викликів.
Засоби налагодження Visual Studio
Коли ви налаштуєте точки зупинки та запустите програму, на екрані з'являться нові інформаційні вікна та елементи керування.
- Елементи керування запуском налагоджувача.
- Поточний рядок точки зупинки та виконання.
- Вікно контрольного значення для моніторингу змінних.
- Вікно "Точки зупинки " для перегляду всіх точок зупинки.
Ви також можете отримати доступ до інших корисних вікон налагодження, вибравши Налагодження> Windows уздовж верхньої панелі переходів. Наприклад, часто використовувані засоби включають:
- Вікно стека викликів: дає змогу переглянути, які методи були викликані.
- Негайне вікно: дає змогу записувати та оцінювати вирази під час налагодження.
- вікна автозаміни: автоматично додає годинники до змінних у поточному контексті.
- Вікно виводу: відображає вивід інструкцій або коду журналювання, який записує на консоль.
Перегляд і редагування стану змінних
Коли ви аналізуєте причину дефекту програми, ви можете спостерігати за станом змінних, щоб знайти неочікувані зміни. У Visual Studio є кілька параметрів вікна контрольного значення, які можна використовувати в різних контекстах налагодження для відстеження стану змінних.
- вікно контрольного значення: дає змогу відстежувати вибрані змінні та вирази з часом під час налагодження.
- Вікно "Місцеві жителі": автоматично відображає змінні в поточній області виконання та контексті.
- вікна автозаміни: автоматично відображає будь-яку змінну, яка використовується на поточному виконуваному або попередньому рядку.
- Негайне вікно: дає змогу обчислити вирази та змінні під час налагодження.
Більшість цих вікон також дають змогу двічі клацнути значення змінної та змінити її значення під час налагодження.
Вікно Watch зручно використовувати для відстеження змінних під час виконання коду. У редакторі можна клацнути змінну правою кнопкою миші та вибрати Додати, щоб переглянути. Ця змінна тепер відображається у вікні контрольного значення та оновлюється автоматично під час виконання програми.
Ви також можете клацнути правою кнопкою миші змінні в Autos або Місцеві жителі вікна, щоб додати годинник.
Ще один продуктивний спосіб переглянути та проаналізувати змінну під час налагодження – скористатися підказками даних. Навівши вказівник миші на будь-яку змінну в поточній області, наведіть вказівник миші на будь-яку змінну. З'явиться підказка даних із іменем і поточним значенням властивостей змінної. Навівши вказівник миші на параметр функції або змінну безпосередньо у вікні редактора, можна також переглянути його значення.
Стек викликів
Щоразу, коли програма входить у функцію, до стека викликів додається запис. Коли програма стає складною, а функції викликаються в інших функціях багато разів, стек викликів позначає слід цих викликів.
Це зручно для пошуку джерела винятку. Якщо у вашій програмі сталася неочікувана помилка, ви часто бачите щось на консолі, наприклад у наведеному нижче прикладі.
Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
at OrderProcessor.OrderQueue.ProcessNewOrders(String[] orderIds) in C:\Users\Repos\OrderProcessor\OrderQueue.cs:line 12
at OrderProcessor.Program.Main(String[] args) in C:\Users\Repos\OrderProcessor\Program.cs:line 9
Група рядків at [...] під повідомленням про помилку називається трасування стека. Трасування стека дає ім'я та походження кожної функції, яка була викликана до завершення винятку. Однак розшифрувати її може бути трохи складно, оскільки вона також містить внутрішні функції з середовища виконання .NET.
Вікно стека викликів Visual Studio стане в нагоді. Вона фільтрує небажані відомості, щоб за замовчуванням відображати лише відповідні функції з власного коду. Потім ви можете розкрутити цей стек викликів, щоб дізнатися, звідки виникла виняткова ситуація.
У наступному підрозділі ви проходите вправу за допомогою налагоджувача, щоб виправити помилку в коді Fibonacci, який ми бачили раніше.
Укажіть параметри налагоджувача
У Visual Studio можна вказати різні параметри поведінки налагоджувача. Зокрема, про те, як відображаються змінні, чи відображаються певні попередження, як встановлюються точки зупинки та як порушення впливають на запущені програми. Ви також можете налаштувати проект на побудову як конфігурацію налагодження або випуску.
Щоб настроїти параметри налагоджувача, скористайтеся меню Знаряддя>Параметри>налагодження, яке надає різні категорії параметрів. Найпоширеніші параметри наведено в категорії Загальні.