Удаленная отладка проекта C# или Visual Basic в Visual Studio

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

Screenshot of remote debugger components.

Сведения об удаленной отладке приложений UWP (универсальной платформы Windows) вы найдете в статье Отладка установленного пакета приложения.

Requirements

Удаленный отладчик поддерживается в Windows 7 и более поздних версиях Windows Server, начиная с Windows Server 2008 с пакетом обновления 2 . Полный список требований см. в разделе Требования.

Примечание.

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

Скачивание и установка инструментов удаленной отладки

На удаленном устройстве или сервере, на котором требуется выполнить отладку (не на компьютере Visual Studio), скачайте и установите правильную версию инструментов удаленной отладки по ссылкам, приведенным в следующей таблице.

  • Скачайте последнее обновление средств удаленного доступа для вашей версии Visual Studio. Более ранние версии удаленных средств несовместимы с более поздними версиями Visual Studio. (Если вы используете, к примеру, Visual Studio 2019, скачайте последнее обновление инструментов удаленной отладки для Visual Studio 2019. В этом случае не следует скачивать инструменты удаленной отладки для Visual Studio 2022.)
  • Скачивайте средства удаленной отладки с архитектурой, соответствующей архитектуре компьютера, на котором они будут устанавливаться. Например, если вы хотите отлаживать приложения x86 на удаленном компьютере под управлением операционной системы x64, установите средства удаленного управления x64. Чтобы выполнить отладку приложений x86, ARM или x64 в операционной системе ARM64, установите удаленные средства ARM64.
Версия Установить связь Примечания.
Visual Studio 2022 год Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2022. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). В более ранних версиях Windows Server см. раздел "Разблокировать скачивание файла", чтобы скачать удаленные средства.
Visual Studio 2019 Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2019. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). В более ранних версиях Windows Server см. раздел "Разблокировать скачивание файла", чтобы скачать удаленные средства.
Visual Studio 2017 Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2017. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла.
Visual Studio 2015 Инструменты удаленной отладки Инструменты удаленной отладки для Visual Studio 2015 доступны по адресу My.VisualStudio.com. При запросе присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите со своим идентификатором подписки Visual Studio. Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла.
Visual Studio 2013 Инструменты удаленной отладки Страница загрузки в документации Visual Studio 2013
Visual Studio 2012 Инструменты удаленной отладки Страница загрузки в документации Visual Studio 2012
Версия Установить связь Примечания.
Visual Studio 2019 Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2019. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла. Последнюю версию инструментов удаленной отладки можно узнать в документации по Visual Studio 2022.
Visual Studio 2017 Инструменты удаленной отладки Совместимы со всеми версиями Visual Studio 2017. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла.
Visual Studio 2015 Инструменты удаленной отладки Инструменты удаленной отладки для Visual Studio 2015 доступны по адресу My.VisualStudio.com. При запросе присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите со своим идентификатором подписки Visual Studio. Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла.
Visual Studio 2013 Инструменты удаленной отладки Страница загрузки в документации Visual Studio 2013
Visual Studio 2012 Инструменты удаленной отладки Страница загрузки в документации Visual Studio 2012

Чтобы запустить удаленный отладчик, можно не устанавливать инструменты удаленной отладки, а просто скопировать файл msvsmon.exe на удаленный компьютер. Однако мастер настройки удаленного отладчика (rdbgwiz.exe) доступен только после установки инструментов удаленной отладки. Этот мастер может потребоваться для настройки, если вы захотите запускать удаленный отладчик как службу. Дополнительные сведения см. в разделе (Дополнительно) Настройка удаленного отладчика как службы.

Примечание.

  • Для отладки приложений для Windows 10 и более поздних версий на устройствах ARM используйте ARM64 (доступно с последней версией инструментов удаленной отладки).
  • Для отладки приложений Windows 10 на устройствах Windows RT используйте ARM, доступный только при загрузке инструментов удаленной отладки Visual Studio 2015.
  • Чтобы выполнить отладку приложений x64 в операционной системе ARM64, запустите msvsmon.exe x64, установленных с помощью удаленных средств ARM64.

Совет

В некоторых сценариях запуск удаленного отладчика из общей папки может оказаться самым эффективным решением. Дополнительные сведения см. в разделе Запуск удаленного отладчика из общей папки.

Установка удаленного отладчика

  1. На удаленном компьютере найдите Удаленный отладчик в меню Пуск и запустите его.

    Если у вас нет прав администратора на удаленном компьютере, щелкните правой кнопкой мыши приложение Удаленный отладчик и выберите Запуск от имени администратора. В противном случае просто запустите его, как обычно.

    Если вы планируете присоединиться к процессу, который работает от имени администратора или под другой учетной записью пользователя (например, IIS), щелкните правой кнопкой мыши приложение Удаленный отладчик и выберите пункт Запуск от имени администратора. Дополнительные сведения см. в разделе Запуск удаленного отладчика в качестве администратора.

  2. При первом запуске удаленного отладчика (или перед настройкой) откроется мастер настройки удаленной отладки.

    В большинстве сценариев нажмите кнопку "Далее ", пока не получите страницу "Настройка брандмауэра Windows" мастера.

    Screenshot of remote debugger configuration.

    Screenshot of remote debugger configuration.

    Если API-интерфейс веб-служб Windows не установлен (это возможно только в Windows Server 2008 R2), нажмите кнопку Установить.

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

    Затем нажмите кнопку "Готово ", чтобы запустить удаленный отладчик.

    Затем выберите "Настроить удаленную отладку" , чтобы запустить удаленный отладчик.

  4. По завершении настройки появится окно Удаленный отладчик.

    Screenshot of remote debugger window

    Screenshot of remote debugger window

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

Чтобы прекратить работу удаленного отладчика, щелкните Файл>Выход. Его можно снова запустить из меню Пуск или из командной строки:

<Remote debugger installation directory>\msvsmon.exe

Примечание.

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

Удаленная отладка проекта

Отладчик не может развертывать классические приложения Visual C# и Visual Basic на удаленном компьютере, но вы все же можете выполнять их удаленную отладку описанным ниже образом. В приведенной ниже процедуре предполагается, что отладка приложения выполняется на компьютере с именем MJO-DL, как показано на иллюстрации ниже.

  1. Создайте проект WPF с именем MyWpf.

    Если вы пытаетесь выполнить удаленную отладку приложения MAUI вместо WPF, см . статью "Удаленная отладка приложения .NET MAUI в Windows".

  2. Установите точку останова в легкодоступном месте кода.

    Например, ее можно установить в обработчике кнопки. Для этого откройте MainWindow.xaml и добавьте элемент управления Button из панели элементов, а затем дважды щелкните кнопку, чтобы открыть его обработчик.

  3. В обозревателе решений щелкните правой кнопкой мыши проект и выберите пункт Свойства.

  4. На странице Свойства откройте вкладку Отладка.

    Если проект C# ориентирован на .NET Core или .NET 5 и более поздних версий, в Visual Studio 2022 или более новых версий выберите на вкладке Отладка выберите Пользовательский интерфейс профилей запуска отладки, чтобы настроить параметры для удаленной отладки.

    Screenshot of the Debug launch profile UI in the Visual Studio Project Properties for C# and .NET.

    В противном случае изменение параметров удаленной отладки выполняется непосредственно на вкладке Отладка.

    Screenshot of the Debug tab in the Visual Studio Project Properties. The Use remote machine property is set to 'MJO-DL:4022'.

  5. Убедитесь, что текстовое поле Рабочий каталог пустое.

  6. Выберите Использовать удаленный компьютер и введите в текстовом поле значение yourmachinename:port. (Номер порта отображается в окне удаленного отладчика. Номер порта увеличивается на 2 в каждой последующей версии Visual Studio.)

    В этом примере используйте:

    MJO-DL:4026 в Visual Studio 2022;

    MJO-DL:4024 в Visual Studio 2019;

  7. Убедитесь в том, что параметр Разрешить отладку машинного кода не выбран.

  8. Выполните сборку проекта.

  9. Создайте на удаленном компьютере папку с тем же путем, что и у папки Debug на компьютере с Visual Studio: <исходный путь>\MyWPF\MyWPF\bin\Debug.

  10. Скопируйте исполняемый файл, созданный на компьютере Visual Studio, в только что созданную папку на удаленном компьютере.

    Внимание

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

    Вы можете скопировать проект вручную, использовать XCopy, Robocopy, PowerShell или другие варианты.

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

    Screenshot of remote debugger window for VS 2022.

    Screenshot of remote debugger window for VS 2019.

  12. В Visual Studio начните отладку (выберите Отладка > Начать отладку или нажмите клавишу F5).

  13. Если появится запрос на подключение к удаленному компьютеру, введите сетевые учетные данные.

    Эти учетные данные зависят от конфигурации безопасности вашей сети. Например, на включенном в домен компьютере введите доменное имя и пароль для входа в домен. Если компьютер не подключен к домену, можно ввести имя компьютера и имя действительной учетной записи пользователя, например MJO-DL\name@something.com, с правильным паролем для нее.

    Главное окно приложения WPF должно быть открыто на удаленном компьютере.

  14. При необходимости выполните действия для попадания в точку останова. Она должна быть активна. Если она неактивна, символы для приложения не загрузились. Повторите попытку и, если это не работает, получите сведения о загрузке символов и их устранении при использовании файлов символов и параметров символов Visual Studio.

  15. На компьютере с Visual Studio вы должны увидеть, что выполнение остановилось в точке останова.

    Если приложение должно использовать файлы, не являющиеся файлами кода, их нужно включить в проект Visual Studio. Создайте папку проекта для дополнительных файлов (в обозревателе решений выберите Добавить > Новая папка). Затем добавьте файлы в папку (в обозревателе решений выберите Добавить > Существующий элемент, а затем выберите файлы). На странице Свойства для каждого файла задайте для свойства Копировать в выходной каталог значение Всегда копировать.

Удаленная отладка приложения .NET MAUI в Windows

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

Используйте один из следующих методов для удаленной отладки:

  • Опубликуйте приложение на удаленном устройстве в виде распаковочного приложения, выполнив действия, описанные в разделе "Использование ИНТЕРФЕЙСА командной строки" для публикации непакованных приложений MAUI для Windows, а затем выполните действия, описанные в этой статье, чтобы выполнить удаленную отладку. (Пропустите шаги для копирования приложения.)

  • Выполните действия, описанные в этой статье, включая шаги по созданию профиля запуска отладки для проекта. Перед началом отладки вручную измените файл запуска Параметры.json, заменив значение MsixPackagecommandNameProject следующим образом, как показано здесь.

    "Remote Profile": {
      "commandName": "MsixPackage",
      "remoteDebugEnabled": true,
      "remoteDebugMachine": "170.200.20.22",
      "authenticationMode": "None"
    }
    

    При запуске отладки этот метод сначала развертывает распаковку версию приложения и запускает ее.

    Примечание.

    Невозможно изменить запуск Параметры.json в диалоговом окне "Профиль запуска отладки" после изменения значенияMsixPackage.

Настройка отладки с удаленными символами

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

Чтобы использовать удаленные символы для управляемого кода, можно использовать следующий параметр командной строки msvsmon: Msvsmon /FallbackLoadRemoteManagedPdbs

Дополнительные сведения см. в справке по удаленной отладке (нажмите клавишу F1 в окне удаленного отладчика или выберите Справка > Использование).