visual studio не может начать отладку так как отсутствует целевой объект отладки 2019
Отладка приложений ASP.NET и ASP.NET Core в Visual Studio
Вы можете выполнять отладку приложений ASP.NET и ASP.NET Core в Visual Studio. Точный процесс зависит от типа приложения (ASP.NET или ASP.NET Core) и от того, выполняется ли он в IIS Express или на локальном сервере IIS.
Приведенные далее шаги и параметры относятся только к отладке приложений на локальном сервере. При отладке приложений на удаленном сервере IIS используется подключение к процессу, а эти параметры игнорируются. Дополнительные сведения и инструкции по удаленной отладке приложений ASP.NET в IIS см. в разделе Удаленная отладка ASP.NET на компьютере IIS или Удаленная отладка ASP.NET Core на удаленном компьютере IIS.
Встроенный сервер IIS Express входит в состав Visual Studio. IIS Express является сервером отладки по умолчанию для проектов ASP.NET и ASP.NET Core. Он уже предварительно настроен. Это самый простой способ отладки, идеально подходящий для первоначальной отладки и тестирования.
Можно также выполнять отладку приложения ASP.NET или ASP.NET Core на локальном сервере IIS (версии 8.0 или более поздней), настроенном для запуска этого приложения. Для отладки на локальном сервере IIS необходимо выполнить следующие требования.
Если она не установлена, установите рабочую нагрузку ASP.NET и веб-разработка. (Перезапустите Visual Studio Installer, выберите Изменить и добавьте эту рабочую нагрузку.)
В Visual Studio 2017 найдите компонент Поддержка IIS во время разработки. Убедитесь, что он выбран при добавлении рабочей нагрузки.
Запустите Visual Studio от имени администратора.
Установить и правильно настроить IIS, указав соответствующие версии ASP.NET и (или) ASP.NET Core. Дополнительные сведения об использовании IIS с ASP.NET Core см. в статье Размещение ASP.NET Core в Windows со службами IIS. Инструкции для ASP.NET см. в статье Установка служб IIS и модулей ASP.NET.
Убедиться, что приложение работает в IIS без ошибок.
Отладка приложений ASP.NET
Сервер IIS Express используется по умолчанию и уже предварительно настроен. Если вы хотите выполнять отладку на локальном сервере IIS, убедитесь, что выполняются требования для отладки на локальном сервере IIS.
Выберите проект ASP.NET в Обозревателе решений Visual Studio, щелкните значок Свойства и нажмите сочетание клавиш ALT+ВВОД либо щелкните проект правой кнопкой мыши и выберите пункт Свойства.
Перейдите на вкладку Интернет.
В области Свойства в разделе Серверы выполните следующее.
В разделе Отладчики выберите ASP.NET.
Выберите Файл > Сохранить выбранные элементы или нажмите сочетание клавиш CTRL+S, чтобы сохранить изменения.
Отладка приложений ASP.NET Core
Сервер IIS Express используется по умолчанию и уже предварительно настроен. Если вы хотите выполнять отладку на локальном сервере IIS, убедитесь, что выполняются требования для отладки на локальном сервере IIS.
Выберите проект ASP.NET Core в Обозревателе решений Visual Studio, щелкните значок Свойства и нажмите сочетание клавиш ALT+ВВОД либо щелкните проект правой кнопкой мыши и выберите пункт Свойства.
Выберите вкладку Отладка.
В области Свойства рядом с полем Профиль выполните следующее.
В раскрывающемся списке рядом с полем Запуск выберите IIS Express или IIS.
Убедитесь, что флажок Запуск браузера установлен.
В разделе Переменные среды убедитесь, что параметр ASPNETCORE_ENVIRONMENT существует и имеет значение Разработка. Если этот параметр отсутствует, нажмите кнопку Добавить и добавьте его.
Выберите Файл > Сохранить выбранные элементы или нажмите сочетание клавиш CTRL+S, чтобы сохранить изменения.
Для отладки приложения установите точки останова в некоторых местах кода проекта. В панели инструментов Visual Studio убедитесь, что для конфигурации задано значение Отладка, а в поле эмулятора указано IIS Express или имя нового профиля IIS.
Устранение неполадок отладки
Если при отладке на локальном сервере IIS не удается достичь точки останова, выполните следующие шаги для устранения неполадок.
Запустите веб-приложение из IIS и убедитесь, что оно работает правильно. Оставьте веб-приложение работать.
В Visual Studio выберите Отладка > Подключиться к процессу или нажмите сочетание клавиш Ctrl+Alt+P, а затем подключитесь к процессу ASP.NET или ASP.NET (обычно это процесс w3wp.exe или dotnet.exe). Дополнительные сведения см. в разделах Подключение к процессу и Поиск имени процесса ASP.NET.
Если вы можете подключиться и попасть в точку останова путем выбора пункта Подключиться к процессу, но не путем выбора Отладка > Начать отладку или нажатия клавиши F5, скорее всего, в свойствах проекта неправильно задан параметр. Если вы используете файл HOSTS, также проверьте правильность его настройки.
Настройка отладки в файле web.config
В проектах ASP.NET по умолчанию имеются файлы web.config, которые содержат сведения о конфигурации и запуске, в том числе параметры отладки. Файлы web.config должны быть правильно настроены для отладки. Обновить файлы web.config можно с помощью параметров Свойства, которые рассматривались в предыдущих разделах, но можно также настроить эти файлы вручную.
В проектах ASP.NET Core изначально нет файлов web.config, но для настройки сведений о конфигурации и запуске можно использовать файлы appsettings.json и launchSettings.json. При развертывании приложения в этом проекте создается файл (или файлы) web.config, но обычно в нем отсутствуют сведения об отладке.
Процесс развертывания может обновить параметры в web.config, поэтому, прежде чем приступить к отладке, проверьте, настроена ли отладка в файле web.config.
Чтобы вручную настроить отладку в файле web.config, выполните следующие действия.
В Visual Studio откройте файл web.config проекта ASP.NET.
Если вместо сервера IIS Express по умолчанию вы используете локальный сервер IIS, убедитесь, что значение атрибута targetFramework в элементе compilation соответствует платформе на сервере IIS.
Элемент compilation в файле web.config должен выглядеть, как показано в следующем примере:
Этот пример представляет часть файла web.config. Обычно в элементах configuration и system.web имеются дополнительные разделы XML, а элемент compilation может также содержать другие атрибуты и элементы.
ASP.NET автоматически обнаруживает изменения в файлах web.config и применяет новые параметры конфигурации. Не нужно перезагружать компьютер или сервер IIS, чтобы изменения вступили в силу.
Веб-сайт может содержать несколько виртуальных каталогов и подкаталогов, и в каждом из них могут быть файлы web.config. Приложения ASP.NET наследуют параметры конфигурации от файлов web.config, находящихся на более высоких уровнях в пути URL-адреса. Параметры иерархических файлов web.config применяются ко всем приложениям ASP.NET, находящимся на более низком уровне в иерархической структуре. Настройка другой конфигурации в файле web.config, находящемся ниже в иерархической структуре, переопределяет параметры, заданные в файле на более высоком уровне.
Например, если задать debug=»true» в файле www.microsoft.com/aaa/web.config, все приложения в папке aaa и во всех вложенных папках aaa наследуют этот параметр, кроме тех приложений, у которых имеется собственный файл web.config.
Публикация в режиме отладки с помощью файловой системы
Существуют разные способы публикации приложений в IIS. Приведенные далее действия показывают, как можно создать и развернуть профиль публикации в режиме отладки с помощью файловой системы. Для этого необходимо запустить Visual Studio от имени администратора.
После изменения кода или повторной сборки необходимо еще раз выполнить эти действия для повторной публикации.
В Visual Studio щелкните проект правой кнопкой мыши и выберите Опубликовать.
Выберите IIS, FTP и т. п. и нажмите Опубликовать.
В диалоговом окне CustomProfile в качестве метода публикации выберите файловую систему.
В поле Целевое расположение нажмите кнопку Обзор ( . ).
Для приложения ASP.NET выберите значок Локальный сервер IIS, выберите веб-сайт, созданный для приложения, а затем нажмите кнопку Открыть.
Для приложения ASP.NET Core выберите значок Файловая система, выберите папку, настроенную для приложения, а затем нажмите кнопку Открыть.
Выберите Далее.
В разделе Конфигурация выберите в раскрывающемся списке пункт Отладка.
Нажмите кнопку Сохранить.
В диалоговом окне Опубликовать убедитесь, что отображается CustomProfile (или имя только что созданного профиля), и параметр LastUsedBuildConfiguration имеет значение Отладка.
Запуск сеанса отладки для приложения UWP
В этой статье описывается, как запустить сеанс отладки Visual Studio для приложения UWP. Приложения UWP могут быть написаны на языках XAML и C++, XAML и C#/Visual Basic. Чтобы приступить к отладке приложения UWP, настройте сеанс отладки и выберите способ запуска приложения.
Начиная с Visual Studio 2019 приложения UWP для HTML и JavaScript больше не поддерживаются.
В Visual Studio 2017 большинство команд и параметров, приведенных в этой статье, также применимо к приложениям UWP для HTML и JavaScript. Если в управляемых приложениях и приложениях C++ команды различаются, то в приложениях JavaScript команды обычно аналогичны командам для приложений UWP на C++.
Запуск отладки с панели инструментов Visual Studio
Самым простым способом настройки и запуска отладки является стандартная панель инструментов Visual Studio.
В раскрывающемся списке Конфигурация на панели инструментов Стандартная выберите Отладка.
В раскрывающемся списке Платформа выберите целевую платформу для построения.
В раскрывающемся списке рядом с зеленой стрелкой выберите целевой объект отладки. Вы можете выбрать локальный компьютер, устройство, подключенное напрямую, локальный симулятор Visual Studio, удаленное устройство или эмулятор.
Чтобы начать отладку, на панели инструментов щелкните зеленую стрелку Пуск или выберите Отладка > Начать отладку или нажмите клавишу F5.
Visual Studio создает и запускает приложение с прикрепленным отладчиком.
Отладка продолжается до достижения точки останова, приостановления выполнения вручную, необработанного исключения или завершения приложения.
Параметры целевого объекта развертывания
Целевой объект отладки можно задать на панели инструментов Visual Studio или на странице свойств отладки проекта. Выберите один из следующих вариантов.
name | Описание |
---|---|
Локальный компьютер | Отладка приложения в текущем сеансе на локальном компьютере. |
Имитатор | Отладка приложения в симуляторе Visual Studio для приложений UWP. Симулятор представляет собой окно на рабочем столе, в котором имитируются недоступные на локальном компьютере функциональные возможности устройства, такие как сенсорный ввод и поворот устройства. Этот параметр доступен только в том случае, если значение Минимальная версия целевой платформы не превышает номер версии операционной системы на локальном компьютере. Дополнительные сведения см. в разделе Запуск приложений UWP в симуляторе. |
Удаленный компьютер | Отладка приложения на устройстве, подключенном к локальному компьютеру по сети или через кабель Ethernet. На удаленном устройстве должны быть установлены и запущены инструменты удаленной отладки для Visual Studio. Дополнительные сведения см. в разделе Запуск приложений UWP на удаленном компьютере. |
Устройство | Отладка приложения на подключенном USB-устройстве. Устройство должно быть разблокировано разработчиком, и на нем должен быть разблокирован экран. |
Эмулятор мобильного устройства | Загрузите эмулятор, указанный в имени эмулятора, разверните приложение и начните отладку. Эмуляторы доступны только на компьютерах с поддержкой Hyper-V. |
Настройка отладки на странице свойств проекта
Чтобы настроить дополнительные параметры отладки, используйте страницу свойств отладка проекта.
Открытие свойств отладки:
В обозревателе решений выберите проект и щелкните значок Свойства либо щелкните проект правой кнопкой мыши и выберите пункт Свойства.
На панели Свойства в области слева выполните следующие действия.
Для приложений C# и Visual Basic выберите Отладка.
Для приложений C++ выберите Свойства конфигурации > Отладка.
Выбор отладчика
По умолчанию в приложениях C# и Visual Basic программа Visual Studio выполняет отладку управляемого кода. Можно выбрать отладку других или дополнительных типов кода. Можно также задать Тип отладчика для всех фоновых задач, которые являются частью проекта.
По умолчанию в приложении С++ Visual Studio выполняет отладку машинного кода. Можно выбрать отладку конкретного типа кода вместо или в дополнение к машинному коду.
Указание типов кода для отладки
Для приложений C# и Visual Basic выберите один из следующих отладчиков из раскрывающихся списков Тип приложения и Тип фонового процесса в разделе Тип отладчика на странице свойств Отладка
Для приложений C++ выберите один из следующих отладчиков из раскрывающихся списков Тип отладчика на странице свойств Отладка.
name | Описание |
---|---|
Только управляемый код | Отладка управляемого кода в приложении. Код JavaScript и машинный код C/C++ игнорируются. |
Только машинный код | Отладка машинного кода C/C++ в приложении. Управляемый код и код JavaScript игнорируются. |
Смешанный (управляемый и машинный) | Отладка машинного кода C/C++ и управляемого кода в приложении. Код JavaScript игнорируется. В проектах C++ этот параметр называется Управляемый и машинный. |
Сценарий | Отладка кода JavaScript в приложении. Управляемый код и машинный код игнорируются. |
Машинный код со скриптом | Отладка машинного кода C/C++ и кода JavaScript в приложении. Управляемый код игнорируется. Доступно только в проектах или фоновых задачах C++. |
Только GPU (C++ AMP) | Отладка машинного кода C++, который выполняется в графическом процессоре (GPU). Доступно только в проектах C++. |
Отключение сетевого замыкания на себя (необязательно)
Из соображений безопасности приложению UWP, установленному стандартным образом, не разрешается выполнять сетевые вызовы к устройству, на котором оно установлено. Visual Studio по умолчанию исключает развернутые приложения из этого правила, поэтому вы можете протестировать процедуры связи на одном компьютере. Прежде чем выпускать приложение, необходимо протестировать его без этого исключения.
Удаление исключения из правила сетевого замыкания на себя:
Для приложений Visual C# и Visual Basic снимите флажок Разрешить замыкание на себя в локальной сети в разделе Параметры запуска на странице свойств Отладка.
Для приложений C++ выберите Нет в списке Разрешить замыкание на себя в локальной сети на странице свойств Отладка.
Переустановка приложения при запуске отладки (необязательно)
Чтобы диагностировать проблемы с установкой приложения C# или Visual Basic, выберите Удалить и переустановить мой пакет на странице свойств Отладка. Этот параметр позволяет повторно создать исходную установку при запуске отладки. Этот параметр недоступен для проектов C++.
Настройка параметров проверки подлинности для удаленной отладки
По умолчанию при выборе варианта Удаленный компьютер в качестве целевого объекта развертывания необходимо указать учетные данные Windows для запуска удаленного отладчика. Можно изменить это требование к проверке подлинности.
Режим проверки подлинности Универсальный (незашифрованный протокол) предназначен для устройств IoT, Xbox и HoloLens, а также для обновлений автора или компьютеров с более поздними версиями Windows 10.
Изменение метода проверки подлинности
Для приложений C# и Visual Basic на странице свойств Отладка выберите Удаленный компьютер для параметра Целевое устройство. Затем выберите Нет или Универсальный (незашифрованный протокол) для параметра Режим проверки подлинности.
Для приложений C++ выберите Удаленный компьютер в разделе Отладчик для запуска на странице свойств Отладка. Затем выберите Без проверки или Универсальный (незашифрованный протокол) для параметра Тип проверки подлинности.
При запуске удаленного отладчика в режиме Без проверки или Универсальный (незашифрованный протокол) безопасность сети не обеспечивается. Выбирайте эти типы только для доверенных сетей, которые точно не подвержены риску вредоносного кода или злонамеренного трафика.
Параметры запуска отладки
При выборе команды Отладка > Начать отладку или при нажатии клавиши F5 Visual Studio запускает приложение с подключенным отладчиком. Выполнение продолжается до достижения точки останова, приостановления выполнения вручную, необработанного исключения или завершения приложения.
Запуск отладки с отложенным запуском приложения
По умолчанию Visual Studio немедленно запускает приложение при запуске отладки. Приложение также можно настроить для выполнения в режиме отладки, но запускать его не отладчиком, а другим методом. Например, может потребоваться отладка запуска приложения из меню Пуск Windows или отладка фонового процесса в приложении. При выборе этого параметра приложение запускается в отладчике при запуске.
Отключение автоматического запуска приложения
Для приложений C# и Visual Basic выберите Не запускать, а отлаживать мой код при открытии в разделе Параметры запуска на странице свойств Отладка.
Для приложений C++ выберите Нет в раскрывающемся списке Запуск приложения на странице свойств Отладка.
Отладка установленного или работающего приложения UWP
Чтобы выполнить отладку приложения UWP, которое уже установлено или запущено на локальном или удаленном устройстве, можно использовать параметр Отладка установленного пакета приложения. Приложение могло быть установлено из Microsoft Store, или, возможно, оно не является проектом Visual Studio. Например, приложение может иметь настраиваемую систему сборки, в которой не используются проекты и решения Visual Studio.
Вы можете запустить установленное приложение немедленно или настроить его на запуск в отладчике при запуске с помощью другого метода. Дополнительные сведения см. в разделе Вызов событий приостановки, возобновления и фоновых событий для приложений UWP.
Чтобы запустить установленное или работающее приложение UWP в отладчике, выберите Отладка > Другие целевые объекты отладки > Отладка установленного пакета приложения. Дополнительные инструкции см. в статье Отладка установленного пакета приложения.
Подключение отладчика к выполняемому приложению Windows 8.x
Установите инструменты удаленной отладки для Visual Studio на устройство, на котором установлено приложение. Дополнительные сведения см. в разделе Установка инструментов удаленной установки.
На экране Пуск Windows найдите и запустите Диспетчер отлаживаемых пакетов.
Отобразится окно PowerShell, настроенное для работы с командлетами AppxDebug.
Укажите идентификатор PackageFullName приложения.
Чтобы просмотреть список всех приложений с идентификатором PackageFullName, введите Get-AppxPackage в командной строке PowerShell.
В командной строке PowerShell введите Enable-AppxDebug
— идентификатор PackageFullName приложения.
Выберите Отладка > Присоединение к процессу.
В диалоговом окне Присоединение к процессу укажите удаленное устройство в поле Целевой объект подключения.
Можно ввести имя устройства, выбрать его из раскрывающегося списка в поле Целевой объект подключения или выбрать Найти, чтобы найти устройство в диалоговом окне Удаленные подключения.
Чтобы указать тип кода, который нужно отладить, рядом с полем Присоединить к нажмите Выбрать.
В диалоговом окне Выбор типа кода выберите одно из следующего:
В списке Доступные процессы выберите процесс приложения для отладки.
Выберите Подключить.
Visual Studio подключает отладчик к процессу. Выполнение продолжается до достижения точки останова, приостановления выполнения вручную, необработанного исключения или завершения приложения.
Учебник. Сведения об отладке кода C# с помощью Visual Studio
В этом пошаговом руководстве рассматриваются возможности отладчика Visual Studio. Более полное описание функций отладчика см. в статье c Знакомство с отладчиком Visual Studio. Отладка приложения обычно означает запуск и выполнение приложения с подключенным отладчиком. При этом в отладчике доступно множество способов наблюдения за выполнением кода. Вы можете пошагово перемещаться по коду и просматривать значения, хранящиеся в переменных, задавать контрольные значения для переменных, чтобы отслеживать изменение значений, изучать путь выполнения кода, просматривать выполнение ветви кода и т. д. Если вы не знакомы с процессом отладки, перед выполнением задач в этой статье рекомендуется прочесть материал об отладке для начинающих.
Несмотря на то, что демонстрационное приложение написано на C#, большинство функций применимы к C++, Visual Basic, F#, Python, JavaScript и другим языкам, поддерживаемым Visual Studio (F# не поддерживает возможность «Изменить и продолжить»). F# и JavaScript не поддерживают окно Видимые). На снимках экрана представлены примеры на C#.
В этом руководстве рассмотрены следующие задачи:
Предварительные требования
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Создание проекта
Откройте Visual Studio 2017.
В верхней строке меню последовательно выберите Файл > Создать > Проект.
Если шаблона проекта Console App (.NET Core) (Консольное приложение (.NET Core)) нет, выберите ссылку Открыть Visual Studio Installer в левой области диалогового окна Новый проект.
Запустите Visual Studio.
Если окно запуска не открыто, выберите Файл > Окно запуска.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите консоль. Затем выберите C# в списке языков и Windows в списке платформ.
В поле Имя проекта окна Настроить новый проект введите GetStartedDebugging. Нажмите кнопку Далее.
Новый проект открывается в Visual Studio.
Запустите Visual Studio.
Если окно запуска не открыто, выберите Файл > Окно запуска.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите консоль. Затем выберите C# в списке языков и Windows в списке платформ.
Применив фильтры языка и платформы, выберите шаблон Консольное приложение и нажмите кнопку Далее.
В поле Имя проекта окна Настроить новый проект введите GetStartedDebugging. Нажмите кнопку Далее.
Новый проект открывается в Visual Studio.
Создание приложения
В файле Program.cs замените все его содержимое по умолчанию следующим кодом:
Запуск отладчика
Нажмите клавишу F5 (Отладка > Начать отладку) или кнопку Начать отладку на панели инструментов «Отладка».
При нажатии клавиши F5 происходит запуск приложения с присоединенным отладчиком. Но пока мы не сделали ничего особенного, чтобы проанализировать код. Поэтому приложение будет просто загружено и появятся указанные ниже выходные данные консоли.
В этом руководстве мы более подробно рассмотрим приложение с отладчиком и познакомимся с возможностями отладчика.
Остановите отладчик, нажав красную кнопку остановки (SHIFT + F5).
В окне консоли нажмите клавишу, чтобы закрыть его.
В основном мы используем сочетания клавиш, поскольку так быстрее выполнять команды отладчика. Кроме того, указаны эквивалентные команды, такие как команды панели инструментов или меню.
Чтобы запустить отладчик, нажмите клавишу F5 или кнопку Целевой объект отладки на стандартной панели инструментов, или же нажмите кнопку Начать отладку на панели инструментов «Отладка» или выберите Отладка > Начать отладку в строке меню.
Клавиша F5 запускает приложение с прикрепленным к процессу приложения отладчиком. Так как специально для изучения кода ничего сделано не было, приложение будет выполняться до завершения и появятся выходные данные консоли.
Чтобы отключить отладчик, нажмите сочетание клавиш SHIFT+F5 или кнопку Остановить отладку на панели инструментов «Отладка» или выберите Отладка > Остановить отладку в строке меню.
В окне консоли нажмите любую клавишу, чтобы закрыть его.
Установка точки останова и запуск отладчика
В цикле for функции Main установите точку останова, щелкнув левое поле следующей строки кода:
Красный круг появляется на месте установки точки останова.
Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.
Нажмите клавишу F5 или кнопку Начать отладку . Запустится приложение, и отладчик перейдет к строке кода, в которой задана точка останова.
Желтая стрелка представляет оператор, на котором приостановлен отладчик. В этой же точке приостанавливается выполнение приложения (этот оператор пока не выполнен).
Если приложение еще не запущено, клавиша F5 запускает отладчик и останавливается в первой точке останова. В противном случае F5 продолжает выполнение приложения до следующей точки останова.
Точки останова полезны, если вам известны строка или раздел кода, которые вы хотите подробно изучить. Дополнительные сведения о различных типах точек останова, которые можно задать, например об условных точках останова, см. в разделе Использование точек останова.
В цикле for функции Main установите точку останова, щелкнув левое поле следующей строки кода:
В месте установки точки останова появится красный круг.
Точки останова — это важные компоненты надежной отладки. Точки останова можно установить там, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.
Чтобы запустить отладку, нажмите клавишу F5 или кнопку Целевой объект отладки на стандартной панели инструментов, или же нажмите кнопку Начать отладку на панели инструментов «Отладка» или выберите Отладка > Начать отладку в строке меню. Будет запущено приложение, и отладчик перейдет к строке кода, где задана точка останова.
Желтая стрелка указывает на оператора, на котором приостановлен отладчик. Выполнение приложения приостановлено в той же точке, но оператор еще не выполнен.
Если приложение не запущено, нажмите клавишу F5 и запустите отладчик, который будет выполнять приложение, пока не достигнет первой точки останова. Если приложение приостановлено в точке останова, нажав клавишу F5, можно продолжить выполнение приложения, пока оно не достигнет следующей точки останова.
Точки останова будут полезны, если вам известны строка или раздел кода, поэтому изучите их подробно. Дополнительные сведения о различных типах точек останова, которые можно задать, например об условных точках останова, см. в этом разделе.
Навигация по коду и проверка данных с помощью подсказок по данным
Здесь мы используем в основном сочетания клавиш, так как они позволяют быстро выполнять приложение в отладчике (эквивалентные команды, например команды меню, отображаются в круглых скобках).
Функции, позволяющие проверять переменные, являются самыми полезными возможностями отладчика. Реализовывать эту задачу можно разными способами. Часто при попытке выполнить отладку проблемы пользователь старается выяснить, хранятся ли в переменных значения, которые требуются ему в определенное время.
Часто при отладке требуется быстро проверить значения свойств в переменных, чтобы убедиться, что в них хранятся ожидаемые значения. Советы по данным — отличный способ это сделать.
Вы должны находиться в следующей строке кода:
F11 — это команда Шаг с заходом, которая выполняет приложение с переходом к следующему оператору. Клавишу F11 удобно использовать для более детальной проверки потока выполнения. По умолчанию отладчик пропускает непользовательский код (дополнительные сведения см. в статье об отладке в режиме «Только мой код»).
Предположим, что вы закончили изучать метод SendMessage и хотите выйти из него, но остаться в отладчике. Это можно сделать с помощью команды Шаг с выходом.
Нажмите сочетание клавиш SHIFT + F11 (или выберите Отладка > Шаг с выходом).
Эта команда возобновляет выполнение приложения (и работу отладчика) до возврата данных текущим методом или текущей функции.
Одной из наиболее полезных возможностей отладчика является его способность проверять переменную. Часто при попытке выполнить отладку после возникновения проблемы пользователь старается выяснить, содержат ли переменные значения, которые требуются ему в определенное время. Хорошим способом проверить это является просмотр подсказок по данным.
Отладчик должен быть приостановлен в следующей строке кода:
Нажав клавишу F11, вы сможете более подробно изучить поток выполнения кода. Чтобы выполнить шаг с заходом в метод из вызова метода, нажмите клавишу F11. По умолчанию отладчик пропускает шаг с заходом в непользовательские методы. Дополнительные сведения об отладке непользовательского кода см. в разделе Только мой код.
Шаг с выходом возобновляет выполнение приложения и работу отладчика до возврата текущего метода или функции.
Переход по коду с помощью команды «Выполнение до щелкнутого»
Нажмите клавишу F5, чтобы снова перейти к точке останова.
Кнопка Выполнение до щелкнутого впервые появилась в Visual Studio 2017. (Если кнопка с зеленой стрелкой отсутствует, воспользуйтесь клавишей F11, чтобы переместить отладчик в нужное место.)
Нажмите кнопку Выполнение до щелчка .
Использование этой кнопки аналогично установке временной точки останова. Функция Выполнение до щелкнутого удобна для быстрой работы в видимой области кода приложения (можно щелкнуть в любом открытом файле).
Нажмите клавишу F5, чтобы снова перейти к точке останова.
Нажмите на кнопку Выполнение до щелчка. Кроме того, вы можете навести курсор на оператор Console.WriteLine и нажать сочетание клавиш Ctrl+F10. Другим способом щелкните вызов метода Console.WriteLine правой кнопкой мыши и выберите в контекстном меню пункт Выполнение до текущей позиции.
Использование кнопки Выполнение до щелчка аналогично настройке временной точки останова и удобно для быстрого обхода в видимой области кода приложения в открытом файле.
Быстрый перезапуск приложения
Нажмите кнопку Перезапустить на панели инструментов «Отладка» (CTRL + SHIFT + F5).
Кнопка Перезапустить позволяет сэкономить время, затрачиваемое на остановку приложения и перезапуск отладчика. Отладчик приостанавливается в первой точке останова, достигнутой при выполнении кода.
Чтобы повторно запустить приложение с самого начала в отладчике, нажмите сочетание клавиш CTRL+SHIFT+F5 или кнопку Перезапустить на панели инструментов «Отладка» или выберите Отладка>Перезапустить в строке меню.
Проверка переменных с помощью окон «Видимые» и «Локальные»
Взгляните на окно Видимые в нижней части редактора кода.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка > Окна > Видимые.
В окне Видимые отображаются переменные и их текущие значения. В окне Видимые отображаются все переменные, используемые в текущей или предыдущей строке (сведения о зависящем от языка поведении см. в соответствующей документации).
Затем посмотрите на окно Локальные на вкладке рядом с окном Видимые.
В окне Локальные показаны переменные, которые находятся в текущей области, то есть текущем контексте выполнения.
В окнах Видимые и Локальные отображаются значения переменных во время отладки. Окна доступны только во время сеанса отладки. В окне Видимые отображаются переменные, используемые в текущей строке, в которой находится отладчик, и в предыдущей строке. В окне Локальные отображаются переменные, определенные в локальной области, которая обычно является текущей функцией или методом.
Во время приостановки отладчика просмотрите окно Видимые в нижней части редактора кода.
Если окно Видимые закрыто, нажмите клавиши Ctrl+D, A или в строке меню выберите Отладка > Windows > Видимые.
Если отладчик по-прежнему приостановлен, просмотрите окно Локальные, расположенное во вкладке рядом с окном Видимые.
Если окно Локальные закрыто, нажмите сочетание клавиш Ctrl+D, L или выберите Отладка > Windows > Локальные.
Дополнительные сведения об окнах Видимые и Локальные см. в статье о проверке переменных в окнах «Видимые» и «Локальные».
Установка контрольного значения
В основном окне редактора кода щелкните правой кнопкой мыши переменную name и выберите команду Добавить контрольное значение.
В нижней части редактора кода откроется окно Контрольное значение. В окне Контрольное значение можно указать переменную (или выражение), которую необходимо отслеживать.
Вы можете указать переменную или выражение, которое необходимо отслеживать во время поэтапного выполнения кода —, добавив его в окно контрольных значений.
Когда отладчик будет приостановлен, щелкните правой кнопкой мыши переменную name и выберите Добавить контрольное значение.
В нижней части редактора кода по умолчанию откроется окно контрольных значений.
В отличие от других окон переменных, в окне контрольных значений всегда отображаются просматриваемые вами переменные, но они выделяются серым цветом, когда находятся вне области действия.
Дополнительные сведения об окне контрольных значений см. в статье о контроле переменных с помощью окон контрольных значений.
Просмотр стека вызовов
Во время приостановки в цикле for щелкните окно Стек вызовов, которое по умолчанию открыто в нижней правой области.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка > Окна > Стек вызовов.
В окне Стек вызовов показан порядок вызова методов и функций. В верхней строке приведена текущая функция (в данном приложении метод SendMessage ). Во второй строке показано, что функция SendMessage была вызвана из метода Main и т. д.
Окно Стек вызовов аналогично перспективе «Отладка» в некоторых интегрированных средах разработки, например Eclipse.
Стек вызовов хорошо подходит для изучения и анализа потока выполнения приложения.
Дважды щелкните строку кода, чтобы просмотреть исходный код. При этом также изменится текущая область, проверяемая отладчиком. Это действие не перемещает отладчик.
Для выполнения других задач можно воспользоваться контекстными меню из окна Стек вызовов. Например, можно вставлять точки останова в указанные функции, перемещать отладчик с помощью функции Выполнение до текущей позиции и изучать исходный код. Дополнительные сведения см. в разделе Практическое руководство. просмотреть стек вызовов.
Стек вызовов может помочь разобраться в потоке выполнения приложения, показывая порядок, в котором вызываются методы и функции.
Если окно Стек вызовов закрыто, нажмите сочетание клавиш Ctrl+D, A или в строке меню выберите Отладка >Windows >Стек вызовов.
Окно Стек вызовов аналогично перспективе «Отладка» в некоторых наборах IDE, например Eclipse.
В окне Стек вызовов дважды щелкните строку кода, чтобы перейти к этому исходному коду. При этом изменится текущая область, проверяемая отладчиком. Это действие не перемещает отладчик.
Для выполнения других задач можно воспользоваться контекстными меню из окна Стек вызовов. Например, можно вставить точки останова в указанные функции, переместить отладчик с помощью функции Выполнение до текущей позиции или перейти к исходному коду.
Дополнительные сведения о Стеке вызовов см. на этой странице.
Изменение потока выполнения
Нажмите клавишу F11.
Отладчик повторно выполнит метод Console.WriteLine (вы увидите это в выходных данных окна консоли).
Изменяя поток выполнения, можно решать множество задач, например тестировать различные пути выполнения кода или повторно выполнять код без перезапуска отладчика.
Как правило, при работе с этой функцией необходимо соблюдать осторожность — вы увидите соответствующее предупреждение во всплывающей подсказке. Могут отображаться и другие предупреждения. При перемещении указателя предыдущее состояние приложения не возвращается.
Чтобы продолжить выполнение приложения, нажмите клавишу F5.
Поздравляем с завершением этого учебника!
Вы можете переместить указатель выполнения, чтобы изменить поток приложения во время отладки.
Мышью захватите желтую стрелку или указатель выполнения (в поле слева), а затем перетащите указатель вверх на одну строку.
Нажмите клавишу F11.
Чтобы продолжить выполнение приложения, нажмите клавишу F5.
Изменяя поток выполнения, можно решать множество задач, например тестировать различные пути выполнения кода или повторно выполнять код без перезапуска отладчика.
Используйте эту возможность осторожно. В подсказке указателя выполнения появится предупреждение о возможных непредвиденных последствиях. Могут также появиться другие предупреждения. Переместив указатель выполнения, нельзя вернуть приложение в предыдущее состояние.
Дополнительные сведения об изменении потока выполнения см. в этом разделе.
Поздравляем с завершением этого учебника!
Следующие шаги
В этом руководстве вы узнали, как запускать отладчик, осуществлять пошаговое выполнение кода и проверять переменные. Возможно, вы захотите получить более полное представление о возможностях отладчика, а также воспользоваться ссылками на дополнительные материалы.