- Удаленная отладка проекта C# или Visual Basic в Visual Studio Remote Debugging a C# or Visual Basic project in Visual Studio
- Требования Requirements
- Скачивание и установка инструментов удаленной отладки Download and Install the remote tools
- Установка удаленного отладчика Set up the remote debugger
- Удаленная отладка проекта Remote debug the project
- Настройка отладки с удаленными символами Set Up Debugging with Remote Symbols
Удаленная отладка проекта C# или Visual Basic в Visual Studio Remote Debugging a C# or Visual Basic project in Visual Studio
Чтобы выполнить отладку приложения Visual Studio, развернутого на другом компьютере, установите и запустите средства удаленной отладки на том компьютере, где будет развернуто приложение, затем настройте в проекте подключение к удаленному компьютеру из Visual Studio и запустите приложение. To debug a Visual Studio application that has been deployed on a different computer, install and run the remote tools on the computer where you deployed your app, configure your project to connect to the remote computer from Visual Studio, and then run your app.
Сведения об удаленной отладке приложений UWP (универсальной платформы Windows) вы найдете в статье Отладка установленного пакета приложения. For information about remote debugging Universal Windows Apps (UWP), see Debug an Installed App Package.
Требования Requirements
Удаленный отладчик поддерживается в среде Windows 7 и более поздних (но не на телефонах) и в Windows Server, начиная с версии Windows Server 2008 с пакетом обновления 2 (SP2). The remote debugger is supported on Windows 7 and newer (not phone) and versions of Windows Server starting with Windows Server 2008 Service Pack 2. Полный список требований см. в разделе Требования. For a complete list of requirements, see Requirements.
Отладка между двумя компьютерами, подключенными через прокси-сервер, не поддерживается. Debugging between two computers connected through a proxy is not supported. Отладка через подключение с высокой задержкой или низкой пропускной способностью, например при подключении к Интернету по коммутируемой линии или при размещении компьютеров в разных странах, может приводить к сбоям или работать недопустимо медленно и поэтому не рекомендуется. Debugging over a high latency or low bandwidth connection, such as dialup Internet, or over the Internet across countries is not recommended and may fail or be unacceptably slow.
Скачивание и установка инструментов удаленной отладки Download and Install the remote tools
На удаленном устройстве или сервере, на котором требуется выполнить отладку (не на компьютере Visual Studio), скачайте и установите правильную версию инструментов удаленной отладки по ссылкам, приведенным в следующей таблице. On the remote device or server that you want to debug on, rather than the Visual Studio machine, download and install the correct version of the remote tools from the links in the following table.
- Скачайте последние версии инструментов удаленной отладки для вашей версии Visual Studio. Download the most recent remote tools for your version of Visual Studio. Последняя версия инструментов удаленной отладки совместима с более ранними версиями Visual Studio, но более ранние версии инструментов удаленной отладки несовместимы с более поздними версиями Visual Studio. The latest remote tools version is compatible with earlier Visual Studio versions, but earlier remote tools versions aren’t compatible with later Visual Studio versions. (Например, если вы используете Visual Studio 2017, скачайте последнее обновление инструментов удаленной отладки для Visual Studio 2017. (For example, if you are using Visual Studio 2017, download the latest update of the remote tools for Visual Studio 2017. В этом случае не следует скачивать средства удаленной отладки для Visual Studio 2019.) In this scenario, do not download the remote tools for Visual Studio 2019.)
- Скачивайте средства удаленной отладки с архитектурой, соответствующей архитектуре компьютера, на котором они будут устанавливаться. Download the remote tools with the same architecture as the machine you’re installing them on. Например, если вы хотите отлаживать 32-разрядное приложение на удаленном компьютере под управлением 64-разрядной операционной системы, установите 64-разрядные инструменты удаленной отладки. For example, if you want to debug a 32-bit app on a remote computer running a 64-bit operating system, install the 64-bit remote tools.
Version Version | Ссылка Link | Примечания Notes |
---|---|---|
Visual Studio 2019 Visual Studio 2019 | Инструменты удаленной отладки Remote tools | Совместимы со всеми версиями Visual Studio 2019. Compatible with all Visual Studio 2019 versions. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). Download the version matching your device operating system (x86, x64, or ARM64). Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла. On Windows Server, see Unblock the file download for help downloading the remote tools. |
Visual Studio 2017 Visual Studio 2017 | Инструменты удаленной отладки Remote tools | Совместимы со всеми версиями Visual Studio 2017. Compatible with all Visual Studio 2017 versions. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). Download the version matching your device operating system (x86, x64, or ARM64). Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла. On Windows Server, see Unblock the file download for help downloading the remote tools. |
Visual Studio 2015 Visual Studio 2015 | Инструменты удаленной отладки Remote tools | Инструменты удаленной отладки для Visual Studio 2015 доступны по адресу My.VisualStudio.com. Remote tools for Visual Studio 2015 are available from My.VisualStudio.com. При запросе присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите со своим идентификатором подписки Visual Studio. If prompted, join the free Visual Studio Dev Essentials program, or sign in with your Visual Studio subscription ID. Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла. On Windows Server, see Unblock the file download for help downloading the remote tools. |
Visual Studio 2013 Visual Studio 2013 | Инструменты удаленной отладки Remote tools | Страница загрузки в документации Visual Studio 2013 Download page in Visual Studio 2013 documentation |
Visual Studio 2012 Visual Studio 2012 | Инструменты удаленной отладки Remote tools | Страница загрузки в документации Visual Studio 2012 Download page in Visual Studio 2012 documentation |
Version Version | Ссылка Link | Примечания Notes |
---|---|---|
Visual Studio 2017 Visual Studio 2017 | Инструменты удаленной отладки Remote tools | Совместимы со всеми версиями Visual Studio 2017. Compatible with all Visual Studio 2017 versions. Скачивайте версию, соответствующую операционной системе вашего устройства (x86, x64 или ARM64). Download the version matching your device operating system (x86, x64, or ARM64). Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла. On Windows Server, see Unblock the file download for help downloading the remote tools. Последнюю версию инструментов удаленной отладки можно узнать в документации Visual Studio 2019. For the most recent version of the remote tools, open the Visual Studio 2019 doc. |
Visual Studio 2015 Visual Studio 2015 | Инструменты удаленной отладки Remote tools | Инструменты удаленной отладки для Visual Studio 2015 доступны по адресу My.VisualStudio.com. Remote tools for Visual Studio 2015 are available from My.VisualStudio.com. При запросе присоединитесь к бесплатной программе Visual Studio Dev Essentials или войдите со своим идентификатором подписки Visual Studio. If prompted, join the free Visual Studio Dev Essentials program, or sign in with your Visual Studio subscription ID. Справку по загрузке инструментов удаленной отладки для Windows Server см. в разделе Разблокировка загрузки файла. On Windows Server, see Unblock the file download for help downloading the remote tools. |
Visual Studio 2013 Visual Studio 2013 | Инструменты удаленной отладки Remote tools | Страница загрузки в документации Visual Studio 2013 Download page in Visual Studio 2013 documentation |
Visual Studio 2012 Visual Studio 2012 | Инструменты удаленной отладки Remote tools | Страница загрузки в документации Visual Studio 2012 Download page in Visual Studio 2012 documentation |
Чтобы запустить удаленный отладчик, можно не устанавливать инструменты удаленной отладки, а просто скопировать файл msvsmon.exe на удаленный компьютер. You can run the remote debugger by copying msvsmon.exe to the remote computer, rather than installing the remote tools. Однако мастер настройки удаленного отладчика (rdbgwiz.exe) доступен только после установки инструментов удаленной отладки. However, the Remote Debugger Configuration Wizard (rdbgwiz.exe) is available only when you install the remote tools. Этот мастер может потребоваться для настройки, если вы захотите запускать удаленный отладчик как службу. You may need to use the wizard for configuration if you want to run the remote debugger as a service. Дополнительные сведения см. в разделе (Дополнительно) Настройка удаленного отладчика как службы. For more information, see (Optional) Configure the remote debugger as a service.
- Для отладки приложений Windows 10 на устройствах ARM используйте ARM64, доступный с последней версией инструментов удаленной отладки. To debug Windows 10 apps on ARM devices, use ARM64, which is available with the latest version of the remote tools.
- Для отладки приложений Windows 10 на устройствах Windows RT используйте ARM, доступный только при загрузке инструментов удаленной отладки Visual Studio 2015. To debug Windows 10 apps on Windows RT devices, use ARM, which is available only in the Visual Studio 2015 remote tools download.
В некоторых сценариях запуск удаленного отладчика из общей папки может оказаться самым эффективным решением. In some scenarios, it can be most efficient to run the remote debugger from a file share. Дополнительные сведения см. в разделе Запуск удаленного отладчика из общей папки. For more information, see Run the remote debugger from a file share.
Установка удаленного отладчика Set up the remote debugger
На удаленном компьютере найдите Удаленный отладчик в меню Пуск и запустите его. On the remote computer, find and start the Remote Debugger from the Start menu.
Если у вас нет прав администратора на удаленном компьютере, щелкните правой кнопкой мыши приложение Удаленный отладчик и выберите Запуск от имени администратора. If you don’t have administrative permissions on the remote computer, right-click the Remote Debugger app and select Run as administrator. В противном случае просто запустите его, как обычно. Otherwise, just start it normally.
Если вы планируете присоединиться к процессу, который работает от имени администратора или под другой учетной записью пользователя (например, IIS), щелкните правой кнопкой мыши приложение Удаленный отладчик и выберите пункт Запуск от имени администратора. If you are planning to attach to a process which is running as an administrator, or is running under a different user account (such as IIS), right-click the Remote Debugger app and select Run as administrator. Дополнительные сведения см. в разделе Запуск удаленного отладчика в качестве администратора. For more information, see Run the remote debugger as an administrator.
При первом запуске удаленного отладчика (или перед его настройкой) появится диалоговое окно Конфигурация удаленной отладки. The first time you start the remote debugger (or before you have configured it), the Remote Debugging Configuration dialog box appears.
Если API-интерфейс веб-служб Windows не установлен (это возможно только в Windows Server 2008 R2), нажмите кнопку Установить. If the Windows Web Services API is not installed, which happens only on Windows Server 2008 R2, select the Install button.
Выберите хотя бы один тип сетей, для которых вы намерены использовать инструменты удаленной отладки. Select at least one network type you want to use the remote tools on. Если компьютеры соединены через домен, необходимо выбрать первый пункт. If the computers are connected through a domain, you must choose the first item. Если компьютеры соединены через рабочую или домашнюю группу, выберите второй или третий пункт соответственно. If the computers are connected through a workgroup or homegroup, choose the second or third item as appropriate.
Щелкните Настроить удаленную отладку, чтобы настроить брандмауэр и запустить удаленный отладчик. Select Configure remote debugging to configure the firewall and start the remote debugger.
По завершении настройки появится окно Удаленный отладчик. When configuration is complete, the Remote Debugger window appears.
Теперь удаленный отладчик ожидает подключения. The remote debugger is now waiting for a connection. Введите предложенные имя сервера и номер порта, чтобы настроить конфигурацию удаленного подключения в Visual Studio. Use the server name and port number shown to set the remote connection configuration in Visual Studio.
Чтобы прекратить работу удаленного отладчика, щелкните Файл > Выход. To stop the remote debugger, select File > Exit. Его можно снова запустить из меню Пуск или из командной строки: You can restart it from the Start menu, or from the command line:
Если вам нужно добавить разрешения для дополнительных пользователей, изменить режим проверки подлинности или настроить номер порта для удаленного отладчика, воспользуйтесь инструкциями по настройке удаленного отладчика. If you need to add permissions for additional users, change the authentication mode, or port number for the remote debugger, see Configure the remote debugger.
Удаленная отладка проекта Remote debug the project
Отладчик не может развертывать классические приложения Visual C# и Visual Basic на удаленном компьютере, но вы все же можете выполнять их удаленную отладку описанным ниже образом. The debugger cannot deploy Visual C# or Visual Basic desktop applications to a remote machine, but you can still debug them remotely as follows. В приведенной ниже процедуре предполагается, что отладка приложения выполняется на компьютере с именем MJO-DL, как показано на иллюстрации ниже. The following procedure assumes that you want to debug it on a computer named MJO-DL, as shown in the illustration below.
Создайте проект WPF с именем MyWpf. Create a WPF project named MyWpf.
Установите точку останова в легкодоступном месте кода. Set a breakpoint somewhere in the code that is easily reached.
Например, ее можно установить в обработчике кнопки. For example, you might set a breakpoint in a button handler. Для этого откройте файл MainWindow.xaml и добавьте элемент управления «Кнопка» из панели элементов, а затем дважды щелкните кнопку, чтобы открыть обработчик. To do this, open MainWindow.xaml, and add a Button control from the Toolbox, then double-click the button to open it’s handler.
В обозревателе решений щелкните правой кнопкой мыши проект и выберите пункт Свойства. In Solution Explorer, right-click the project and choose Properties.
На странице Свойства откройте вкладку Отладка. On the Properties page, choose the Debug tab.
Убедитесь, что текстовое поле Рабочий каталог пустое. Make sure the Working directory text box is empty.
Выберите Использовать удаленный компьютер и введите в текстовом поле значение yourmachinename:port. Choose Use remote machine, and type yourmachinename:port in the text box. (Номер порта отображается в окне удаленного отладчика. (The port number is shown in the remote debugger window. Номер порта увеличивается на 2 в каждой версии Visual Studio.) The port number increments 2 in each version of Visual Studio).
В этом примере используйте: In this example, use:
MJO-DL:4024 в Visual Studio 2019; MJO-DL:4024 on Visual Studio 2019
MJO-DL:4022 в Visual Studio 2017. MJO-DL:4022 on Visual Studio 2017
Убедитесь в том, что параметр Разрешить отладку машинного кода не выбран. Make sure that Enable native code debugging is not selected.
Выполните построение проекта. Build the project.
Создайте на удаленном компьютере папку с тем же путем, что и у папки Debug на компьютере с Visual Studio: \MyWPF\MyWPF\bin\Debug. Create a folder on the remote computer that is the same path as the Debug folder on your Visual Studio computer: \MyWPF\MyWPF\bin\Debug.
Скопируйте исполняемый файл, сборку которого вы только что выполнили, с компьютера с Visual Studio в созданную на удаленном компьютере папку. Copy the executable that you just built from your Visual Studio computer to the newly-created folder on the remote computer.
Не вносите изменения в код и не выполняйте повторную сборку (или придется повторить этот шаг). Do not make changes to the code or rebuild (or you must repeat this step). Исполняемый файл, скопированный на удаленный компьютер, должен в точности совпадать с локальным исходным кодом и символами. The executable you copied to the remote machine must exactly match your local source and symbols.
Вы можете скопировать проект вручную, использовать XCopy, Robocopy, PowerShell или другие варианты. You can copy the project manually, use XCopy, Robocopy, Powershell, or other options.
Убедитесь, что удаленный отладчик запущен на целевом компьютере (если это не так, найдите Удаленный отладчик в меню Пуск). Make sure the remote debugger is running on the target machine (If it’s not, search for Remote Debugger in the Start menu). Окно удаленного отладчика выглядит следующим образом. The remote debugger window looks like this.
В Visual Studio начните отладку (выберите Отладка > Начать отладку или нажмите клавишу F5). In Visual Studio, start debugging (Debug > Start Debugging, or F5).
Если появится запрос на подключение к удаленному компьютеру, введите сетевые учетные данные. If prompted, enter network credentials to connect to the remote machine.
Эти учетные данные зависят от конфигурации безопасности вашей сети. The required credentials vary depending on your network’s security configuration. Например, на включенном в домен компьютере введите доменное имя и пароль для входа в домен. For example, on a domain computer, you can enter your domain name and password. Если компьютер не подключен к домену, может потребоваться ввести имя компьютера и имя существующей учетной записи пользователя, например MJO-DL\name@something.com, с правильным паролем для нее. On a non-domain machine, you might enter the machine name and a valid user account name, like MJO-DL\name@something.com, along with the correct password.
Главное окно приложения WPF должно быть открыто на удаленном компьютере. You should see that the WPF application’s main window is open on the remote computer.
При необходимости выполните действия для попадания в точку останова. If necessary, take action to hit the breakpoint. Она должна быть активна. You should see that the breakpoint is active. Если она неактивна, символы для приложения не загрузились. If it isn’t, the symbols for the application haven’t loaded. Повторите попытку и, если не получится, информацию о загрузке символов и устранении связанных с ними неполадок см. в записи блога Основные сведения о файлах символов и параметрах символов Visual Studio. Retry, and if that doesn’t work, get information about loading symbols and how troubleshoot them at Understanding symbol files and Visual Studio’s symbol settings.
На компьютере с Visual Studio вы должны увидеть, что выполнение остановилось в точке останова. On the Visual Studio machine, you should see that execution has stopped at the breakpoint.
Если приложение должно использовать файлы, не являющиеся файлами кода, их нужно включить в проект Visual Studio. If you have any non-code files that need to be used by the application, you need to include them in the Visual Studio project. Создайте папку проекта для дополнительных файлов (в обозревателе решений выберите Добавить > Новая папка). Create a project folder for the additional files (in the Solution Explorer, click Add > New Folder). Затем добавьте файлы в папку (в обозревателе решений выберите Добавить > Существующий элемент, а затем файлы). Then add the files to the folder (in the Solution Explorer, click Add > Existing Item, then select the files). На странице Свойства для каждого файла задайте для свойства Копировать в выходной каталог значение Всегда копировать. On the Properties page for each file, set Copy to Output Directory to Copy always.
Настройка отладки с удаленными символами Set Up Debugging with Remote Symbols
Вы можете отлаживать код с использованием символов, созданных на компьютере Visual Studio. You should be able to debug your code with the symbols you generate on the Visual Studio computer. Производительность удаленного отладчика гораздо выше при использовании локальных символов. The performance of the remote debugger is much better when you use local symbols. Если необходимо использовать удаленные символы, укажите, что монитор удаленной отладки должен искать символы на удаленном компьютере. If you must use remote symbols, you need to tell the remote debugging monitor to look for symbols on the remote machine.
Начиная с версии Visual Studio 2013 с обновлением 2 можно использовать следующий параметр командной строки msvsmon для использования удаленных символов для управляемого кода: Msvsmon /FallbackLoadRemoteManagedPdbs Starting in Visual Studio 2013 Update 2, you can use the following msvsmon command-line switch to use remote symbols for managed code: Msvsmon /FallbackLoadRemoteManagedPdbs
Дополнительные сведения см. в справке по удаленной отладке (нажмите клавишу F1 в окне удаленного отладчика или щелкните Справка > Использование). For more information, please see the remote debugging help (press F1 in the remote debugger window, or click Help > Usage). Также см. запись блога с описанием изменений, связанных с удаленной загрузкой символов .NET в Visual Studio 2012 и 2013. You can find more information at .NET Remote Symbol Loading Changes in Visual Studio 2012 and 2013