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


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

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

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

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

Требования

Удаленный отладчик поддерживается в 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 (AMD64) или ARM64. В более старых версиях Windows Server см. Разблокируйте скачивание файла, чтобы получить помощь в скачивании средств удаленного доступа.
Visual Studio 2019 Удаленные инструменты Средства удаленного доступа для Visual Studio 2019 доступны в My.VisualStudio.com. Если будет предложено, присоединитесь к бесплатной программе Visual Studio Dev Essentials или выполните вход с помощью идентификатора подписки Visual Studio. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или ARM64. В более старых версиях Windows Server см. раздел о разблокировке загрузки файлов для получения справки по загрузке средств удаленного управления.
Visual Studio 2017 удалённые инструменты Средства удаленного доступа для Visual Studio 2017 доступны в My.VisualStudio.com. При появлении запроса присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите, используя ID вашей подписки на Visual Studio. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или 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 (AMD64) или ARM64. В Windows Server обратитесь к разделу Разблокировка загрузки файла, чтобы скачать инструменты удаленного доступа. Для самой последней версии удаленных средств откройте документ Visual Studio 2022.
Visual Studio 2017 удаленные инструменты Совместима со всеми версиями Visual Studio 2017. Скачайте версию, соответствующую операционной системе устройства (x86, x64 (AMD64) или 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, запустите x64 msvsmon.exe, который устанавливается с ARM64 удаленными средствами.

Совет / Чаевые

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

Настройка удаленного отладчика

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

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

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

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

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

    снимок экрана конфигурации удаленного отладчика.

    снимок экрана конфигурации удаленного отладчика.

    Если API веб-служб Windows не установлен, что бывает только в Windows Server 2008 R2, нажмите кнопку Установить.

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

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

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

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

    снимок экрана: окно удаленного отладчика

    снимок экрана: окно удаленного отладчика

    Теперь удаленный отладчик ожидает подключения. Используйте имя сервера и номер порта, показанные для задания конфигурации удаленного подключения в 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, выберите пользовательский интерфейс профилей запуска отладки на вкладке Отладка, чтобы настроить параметры удаленной отладки.

    снимок экрана: пользовательский интерфейс профиля запуска отладки в свойствах проекта Visual Studio для C# и .NET.

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

    снимок экрана вкладки отладки в свойствах проекта Visual Studio. Свойство

    снимок экрана вкладки отладки в свойствах проекта Visual Studio. Свойство

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

  6. Выберите Использовать удаленный компьютери введите в текстовое поле ваше_имя_машины:порт. (Номер порта отображается в окне удаленного отладчика. Номер порта увеличивается 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. Убедитесь, что удаленный отладчик запущен на целевом компьютере (если это не так, выполните поиск удаленного отладчика в меню Пуск). Окно удаленного отладчика выглядит следующим образом.

    снимок экрана окна удаленного отладчика для VS 2022.

    Снимок экрана: окно Удаленного Отладчика для 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 — это упакованные приложения, которые должны быть зарегистрированы при развертывании, а не просто скопированы на удалённый компьютер. Для удаленной отладки можно развернуть неупакованную версию приложения.

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

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

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

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

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

    Заметка

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

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

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

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

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