Skip to content

Latest commit

 

History

History
133 lines (85 loc) · 7.9 KB

remote-debugging.md

File metadata and controls

133 lines (85 loc) · 7.9 KB
title description ms.date ms.topic f1_keywords dev_langs helpviewer_keywords author ms.author manager ms.subservice
Remote debugging
Debug a Visual Studio application that has been deployed on a different computer by using the Visual Studio remote debugger.
01/19/2024
conceptual
vs.debug.remote.overview
C++
FSharp
CSharp
JScript
VB
remote debugging, setup
mikejo5000
mikejo
mijacobs
debug-diagnostics

Remote Debugging

You can debug a Visual Studio application that has been deployed on a different computer. To do so, you use the Visual Studio remote debugger.

For in-depth instructions on remote debugging, see these topics.

|Scenario|Link| |-|-|-| |Azure App Service|Remote debug ASP.NET Core on Azure or, for Visual Studio Enterprise, the Snapshot Debugger| |Azure VM|Remote debug ASP.NET on an Azure VM| |Azure Service Fabric|Debug an Azure Service Fabric application| |ASP.NET|Remote debug ASP.NET Core or Remote Debug ASP.NET| |C# or Visual Basic|Remote debug a C# or Visual Basic project| |C++|Remote debug a C++ project| |Universal Windows Apps (UWP)|Run UWP apps on a remote machine or Debug an installed app package|

If you just want to download and install the remote debugger and don't need any additional instructions for your scenario, follow the steps in this article.

Download and Install the remote tools

[!INCLUDE remote-debugger-download]

Requirements

[!INCLUDE remote-debugger-requirements]

(Optional) To run the remote debugger from a file share

You can find the remote debugger (msvsmon.exe) on a computer with Visual Studio Community, Professional, or Enterprise already installed. For some scenarios, the easiest way to set up remote debugging is to run the remote debugger (msvsmon.exe) from a file share. For usage limitations, see the remote debugger's Help page (Help > Usage in the remote debugger).

  1. Find msvsmon.exe in the directory matching your version of Visual Studio:

    ::: moniker range=">=vs-2022"

    Program Files\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Program Files\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe

    ::: moniker-end ::: moniker range="vs-2019"

    Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x86\msvsmon.exe

    ::: moniker-end

  2. Share the Remote Debugger folder on the Visual Studio computer.

  3. On the remote computer, run msvsmon.exe from the shared folder. Follow the setup instructions.

Tip

For command line installation and command line reference, see the Help page for msvsmon.exe by typing msvsmon.exe /? in the command line on the computer with Visual Studio installed (or go to Help > Usage in the remote debugger).

Set up the remote debugger

[!INCLUDE remote-debugger-configuration]

Configure the remote debugger

You can change some aspects of the configuration of the remote debugger after you have started it for the first time.

  • If you need to add permissions for other users to connect to the remote debugger, choose Tools > Permissions. You must have administrator privileges to grant or deny permissions.

    [!IMPORTANT] You can run the remote debugger under a user account that differs from the user account you are using on the Visual Studio computer, but you must add the different user account to the remote debugger's permissions.

    Alternatively, you can start the remote debugger from the command line with the /allow <username> parameter: msvsmon /allow <username@computer>.

  • If you need to change the Authentication mode or the port number, or specify a timeout value for the remote tools: choose Tools > Options.

    For a listing of the port numbers used by default, see Remote Debugger Port Assignments.

    [!WARNING] You can choose to run the remote tools in No Authentication mode, but this mode is strongly discouraged. There is no network security when you run in this mode. Choose the No Authentication mode only if you are sure that the network is not at risk from malicious or hostile traffic.

(Optional) Configure the remote debugger as a service

For debugging in ASP.NET and other server environments, you must either run the remote debugger as an Administrator or, if you want it always running, run the remote debugger as a service.

If you want to configure the remote debugger as a service, follow these steps.

  1. Find the Remote Debugger Configuration Wizard (rdbgwiz.exe). (This is a separate application from the Remote Debugger.) It is available only when you install the remote tools. It is not installed with Visual Studio.

  2. Start running the configuration wizard. When the first page comes up, click Next.

  3. Check the Run the Visual Studio Remote Debugger as a service checkbox.

  4. Add the name of the user account and password.

    You may need to add the Log on as a service user right to this account (Find Local Security Policy (secpol.msc) in the Start page or window (or type secpol at a command prompt). When the window appears, double-click User Rights Assignment, then find Log on as a service in the right pane. Double-click it. Add the user account to the Properties window and click OK). Click Next.

  5. Select the type of network that you want the remote tools to communicate with. At least one network type must be selected. If the computers are connected through a domain, you should choose the first item. If the computers are connected through a workgroup or homegroup, you should choose the second or third items. Click Next.

  6. If the service can be started, you will see You have successfully completed the Visual Studio Remote Debugger Configuration Wizard. If the service cannot be started, you will see Failed to complete the Visual Studio Remote Debugger Configuration Wizard. The page also gives some tips to follow to get the service to start.

  7. Click Finish.

    At this point the remote debugger is running as a service. You can verify this by going to Control Panel > Services and looking for Visual Studio Remote Debugger.

    You can stop and start the remote debugger service from Control Panel > Services.

Set up debugging with remote symbols

[!INCLUDE remote-debugger-symbols]

Related content