Поделиться через


Запустите код в Visual Studio

Visual Studio включает мощный интегрированный набор средств сборки и отладки проекта. В этой статье описывается, как Visual Studio поможет найти проблемы в коде с помощью выходных данных сборки, анализа кода, средств отладки и модульных тестов.

Вы освоили редактор и написали немного кода. Теперь необходимо убедиться, что код работает правильно. В Visual Studio, как и в большинстве случаев, существует два этапа для выполнения работы кода: создание кода для перехвата и устранения ошибок проекта и компилятора, а также выполнение кода для поиска динамических ошибок и времени выполнения.

Соберите ваш код

Существует два основных типа конфигурации сборки: отладка и выпуск. Конфигурация отладки создает более медленный, более крупный исполняемый файл, позволяющий выполнять более широкий интерактивный процесс отладки во время выполнения. Исполняемый файл отладки никогда не должен быть отправлен. Конфигурация выпуска создает более быстрый оптимизированный исполняемый файл, который подходит для отправки (по крайней мере с точки зрения компилятора). Конфигурация сборки по умолчанию — отладка.

Самый простой способ создать проект — нажать клавишу F7, но можно также запустить сборку, выбрав в главном меню решение сборки>.

Снимок экрана меню «Сборка» в интегрированной среде разработки Visual Studio.

Процесс сборки можно наблюдать в окне вывода в нижней части пользовательского интерфейса Visual Studio (пользовательский интерфейс). Здесь отображаются ошибки, предупреждения и операции сборки. Если у вас есть ошибки (или если у вас есть предупреждения выше настроенного уровня), сборка завершается сбоем. Вы можете выбрать ошибки и предупреждения, чтобы перейти к строке, в которой они произошли. Перестроите проект, снова нажав клавишу F7 (для повторной компиляции только файлов с ошибками) или CTRL+ALT+F7 (для чистого и полного перестроения).

В окне результатов под редактором есть две вкладки: окно вывода , содержащее необработанные выходные данные компилятора (включая сообщения об ошибках); и окно списка ошибок , которое предоставляет отсортируемый и фильтруемый список всех ошибок и предупреждений.

При успешном выполнении сборки в окне выходных данных отображаются такие результаты:

Снимок экрана: результат успешной сборки Visual Studio.

Просмотр списка ошибок

Если вы не внесли никаких изменений в код, который вы ранее и успешно скомпилировали, вероятно, возникла ошибка. Если вы не знакомы с программированием, у вас, вероятно, много из них. Иногда ошибки очевидны, такие как простая синтаксическая ошибка или неправильное имя переменной, а иногда их трудно понять, с помощью только криптографического кода, который поможет вам. Для более чистого представления проблем перейдите в нижней части окна вывода сборки и перейдите на вкладку "Список ошибок ". Это действие делает вас более упорядоченным представлением об ошибках и предупреждениях для проекта, а также предоставляет дополнительные параметры.

Снимок экрана: вывод и список ошибок Visual Studio.

Выберите строку ошибки в окне списка ошибок , чтобы перейти к строке ошибки. (Или включите номера строк, нажав Ctrl+Q, введите номера строк, а затем выберите включить или отключить номера строк из результатов. Это самый быстрый способ добраться до диалогового окна Параметры, где можно включить номера строк.)

Снимок экрана редактора Visual Studio с номерами строк.

Скриншот параметра отображения номеров строк в Visual Studio.

Нажмите клавиши CTRL+G , чтобы быстро перейти к номеру строки, в которой произошла ошибка.

Visual Studio отмечает эту ошибку красной волнистой линией подчеркивания. Наведите указатель мыши на него для получения дополнительных сведений. Сделайте исправление, и проблема исчезнет, хотя с исправлением может возникнуть новая ошибка. (Это действие называется регрессией.)

Снимок экрана: действие наведения указателя на ошибку Visual Studio.

Просмотрите список ошибок и укажите все ошибки в коде.

Снимок экрана: окно ошибок отладки Visual Studio.

Проверка ошибок в деталях

Многие ошибки могут показаться вам непонятными, так как они сформулированы на языке компилятора. В таких случаях может потребоваться дополнительная информация. В окне списка ошибок можно выполнить автоматический поиск Bing для получения дополнительных сведений об ошибке или предупреждении. Щелкните правой кнопкой мыши соответствующую строку входа и выберите команду "Показать справку об ошибке " в контекстном меню или выберите значение кода гиперссылки в столбце "Код " списка ошибок.

Снимок экрана: поиск по списку ошибок Visual Studio Bing.

В зависимости от параметров в веб-браузере отображаются результаты поиска кода ошибки и текста, или вкладка открывается в Visual Studio и отображает результаты поиска Bing. Результаты взяты из множества различных источников в Интернете, и некоторые из них могут вам не пригодиться.

Использование анализа кода

Анализаторы кода ищут распространенные проблемы кода, которые могут привести к ошибкам во время выполнения или проблемам в управлении кодом.

Анализ кода C# и Visual Basic

Visual Studio включает встроенный набор анализаторов платформы компилятора .NET , которые проверяют код C# и Visual Basic при вводе. Вы можете установить дополнительные анализаторы в виде расширения Visual Studio или в виде пакета NuGet. При обнаружении нарушений правил они отображаются как в списке ошибок, так и в редакторе кода в виде волнистой линии под фрагментом нарушающего кода.

Анализ кода C++

Чтобы проанализировать код C++, выполните статический анализ кода. Возьмите за правило запускать его после исправления очевидных ошибок, мешающих успешной сборке, и уделите время устранению предупреждений, которые могут появляться. Вы можете избавить себя от некоторых проблем в будущем и, возможно, научитесь нескольким приемам стиля программирования.

Нажмите Alt+F11 (или выберите Анализ>Запустить анализ кода на решение в верхнем меню), чтобы начать статический анализ кода.

Снимок экрана: пункт меню

Все новые или обновленные предупреждения отображаются на вкладке "Список ошибок " в нижней части интегрированной среды разработки. Выберите предупреждение, чтобы перейти к нему в коде.

Снимок экрана: список ошибок Visual Studio с предупреждениями.

Используйте быстрые действия для исправления или рефакторинга кода

Быстрые действия, доступные на значке лампочки или отвертки, позволяют выполнять рефакторинг кода встроенным образом. Это простой способ быстро и эффективно исправить распространенные предупреждения в коде C#, C++и Visual Basic. Чтобы получить к ним доступ, щелкните правой кнопкой мыши значок предупреждения и выберите быстрые действия и рефакторинг. Или, когда курсор находится на строке с цветной волнистой линией, нажмите Ctrl+. или выберите значок лампочки, лампочки ошибки или отвертки на полях. Затем Visual Studio отображает список возможных исправлений или рефакторингов, которые можно применить к этой строке кода.

Снимок экрана: предварительный просмотр значка лампочки Visual Studio.

Быстрые действия можно использовать, когда анализаторы кода определяют возможность исправления, рефакторинга или улучшения кода. Выберите любую строку кода, щелкните правой кнопкой мыши, чтобы открыть контекстное меню, и выберите быстрые действия и рефакторинг. Если доступны параметры рефакторинга или улучшения, они отображаются. В противном случае сообщение "Нет быстрых действий", доступных здесь , отображается в левом нижнем углу интегрированной среды разработки.

Снимок экрана: текст

Благодаря опыту вы можете быстро использовать клавиши со стрелками и ctrl+. Чтобы проверить возможности легкого рефакторинга и очистить код!

Запустить очистку кода

Visual Studio предоставляет форматирование файла кода C# по запросу, включая настройки стиля кода, с помощью кнопки "Очистка кода " в нижней части редактора.

снимок экрана: кнопка

Помимо форматирования файла для пробелов, отступов и т. д. Очистка кода также применяет набор соглашений о стиле кода, которые вы определяете. Параметры каждого стиля кода считываются из файла EditorConfig, если он есть в проекте, или из параметров стиля кода в диалоговом окне "Параметры ".

Отладка выполняемого кода

Теперь, когда вы успешно создали код и выполнили немного очистки, запустите его, нажав F5 или выбрав Отладка>Начать отладку. Это действие запускает приложение в среде отладки, чтобы вы могли подробно наблюдать за его поведением. Среда разработки Visual Studio изменяется во время выполнения приложения: окно Output заменяется двумя новыми (в конфигурации окна по умолчанию), окно с вкладками Авто/Локальные/Просмотр и окно с вкладками Стек вызовов/Точки останова/Настройки исключений/Вывод. Эти окна имеют несколько вкладок, которые позволяют проверять и оценивать переменные приложения, потоки, стеки вызовов и другие аспекты работы во время выполнения.

Снимок экрана окон

Остановите приложение, нажав клавиши SHIFT+F5 или нажав кнопку "Остановить ". Кроме того, можно просто закрыть главное окно приложения (или диалоговое окно командной строки).

Если ваш код выполнен идеально и точно так же, как ожидалось, поздравляем! Однако иногда ваш код может перестать отвечать, завершаться с ошибкой или давать странные результаты. В этом случае необходимо попытаться найти источник этих проблем и устранить ошибки.

Установка простых точек останова

Точки останова — это самая базовая и важная функция надежной отладки. Точка останова указывает, где Visual Studio должна приостановить выполнение выполняемого кода, чтобы просмотреть значения переменных, или поведение памяти или выполнение ветви кода. Вам не нужно перестроить проект после настройки и удаления точек останова.

Установите точку останова, щелкнув дальнее поле строки, в которой требуется разрыв, или нажмите клавишу F9 , чтобы задать точку останова в текущей строке кода. При запуске кода выполняется приостановка (или прерывание) перед выполнением инструкций для этой строки кода.

Снимок экрана: точка останова Visual Studio.

Распространенные варианты использования точек останова включают:

  • Чтобы сузить источник сбоя или неотвечающей программы, расставьте точки останова по всему и вокруг кода вызова метода, который, как вы полагаете, вызывает проблему. При выполнении кода в отладчике удалите и установите точки останова ближе друг к другу, пока не найдете проблемную строку кода. См. следующий раздел, чтобы узнать, как запустить код в отладчике.

  • При вводе нового кода задайте точку останова в начале и запустите код, чтобы убедиться, что он работает должным образом.

  • Если вы реализовали сложное поведение, установите точки останова для алгоритмического кода, чтобы можно было проверить значения переменных и данных при разрыве программы.

  • Если вы пишете код на C или C++, используйте точки останова для остановки выполнения кода, чтобы проверить значения адресов (проверить на NULL) и счетчики ссылок при отладке ошибок, связанных с памятью.

Дополнительные сведения об использовании точек останова см. в разделе "Использование точек останова" в отладчике Visual Studio.

Проверка кода во время выполнения

Когда выполняемый код попадает в точку останова и приостанавливается, строка кода, помеченная желтым цветом (текущая инструкция) еще не выполнена. На этом этапе может потребоваться выполнить текущую инструкцию, а затем проверить измененные значения. Чтобы выполнять код в отладчике, можно использовать несколько пошаговых команд. Если помеченный код является вызовом метода, его можно выполнить, нажав клавишу F11. Вы также можете перейти строку кода, нажав клавишу F10. Дополнительные команды и сведения о пошаговом переходе по коду см. в статье "Навигация по коду" с помощью отладчика.

Снимок экрана Visual Studio, на котором показано окно кода. Красная точка в левом поле указывает точку останова в строке кода, выделенной желтым.

На приведенном выше рисунке можно продвинуть отладчик один оператор, нажав клавишу F10 или F11 (так как здесь нет вызова метода, обе команды имеют одинаковый результат).

Пока отладчик приостановлен, вы можете проверить переменные и стеки вызовов, чтобы определить, что происходит. Отображаются ли значения в диапазонах, которые вы ожидаете увидеть? Выполняются ли звонки в правильном порядке?

Снимок экрана: окно кода Visual Studio. В строке кода, помеченной желтым цветом, выбрана переменная, а в раскрывающемся списке отображается текущее значение и ссылки.

Наведите указатель мыши на переменную, чтобы просмотреть текущее значение и ссылки. Если вы видите значение, которое вы не ожидали, вероятно, у вас есть ошибка в предыдущем или вызывающем коде. Чтобы узнать больше, см. Первый взгляд на отладчик Visual Studio.

Кроме того, Visual Studio отображает окно средств диагностики , где можно наблюдать за использованием ЦП и памяти приложения с течением времени. Позже в разработке приложений вы можете использовать эти средства для поиска непреднамеренного интенсивного использования ЦП или выделения памяти. Используйте его с окном "Наблюдения" и точками останова, чтобы определить, что вызывает непредвиденное высокое использование или неосвобожденные ресурсы. Дополнительные сведения см. в статье "Первый взгляд на средства профилирования" (C#, Visual Basic, C++, F#).

Выполнение модульных тестов

Модульные тесты — это первая строка защиты от ошибок кода, так как при правильном выполнении они проверяют один "блок" кода, как правило, одну функцию и проще отлаживать, чем полная программа. Visual Studio устанавливает платформы модульного тестирования Майкрософт для управляемого и машинного кода. Используйте платформу модульного тестирования, чтобы создать модульные тесты, запустить их и сообщить о результатах этих тестов. Повторно выполните модульные тесты при внесении изменений, чтобы проверить правильность работы кода. С помощью выпуска Visual Studio Enterprise можно автоматически запускать тесты после каждой сборки.

Чтобы приступить к работе, ознакомьтесь с разделом "Создание модульных тестов для нечеткого тестирования с помощью IntelliTest".

Чтобы узнать больше о модульных тестах в Visual Studio и о том, как они помогут вам создать более качественный код, ознакомьтесь с основами модульного теста.