This documentation is archived and is not being maintained.

Remote Debugging Under Another User Account

Visual Studio .NET 2003

For security reasons, the Visual Studio debugger restricts the following types of remote debugging:

  1. A user running Visual Studio cannot launch or attach to remote processes running under another user's Terminal Server session.
  2. A user who is not an administrator on the remote machine cannot attach to processes started by the console user on that machine, unless the console user and the debugger user have the same user account.
  3. A user who is not an administrator on the remote machine cannot attach to services on that machine.
  4. A user cannot launch processes on the remote machine unless the user is logged onto the remote machine (locally or through Terminal Server.)

You can overcome these restrictions if the following registry key is set on the remote machine:

HKEY_LOCAL_MACHINE \Software\Microsoft\Machine Debug Manager\AllowLaunchAsOtherUser

For scenarios 3 and 4, you also need to have an administrator logged into the server console while you are debugging.

To setup the remote server to allow impersonation of another user account

Caution   Adding users to the Debugger Users group may create a security risk by allowing those users to access the machine. You should add only those users that need debugger access on that particular machine. Do not add Everyone to the Debugger Users group.
  1. Using Administrative Tools, add YourAccount to the Debugger Users group. (For more information, see Setting Debug Permissions on Windows 2000.)
  2. Using regedit.exe, set the value of the DWORD HKEY_LOCAL_MACHINE\Software\Microsoft\Machine Debug Manager\AllowLaunchAsOtherUser

    to 1.

To debug another user account on the remote server

  1. Make sure the server has been set up correctly according the procedure above.
  2. Log into the console of the server using an administrator account (AdminAccount). An administrator must be logged into the server console during remote debugging.

See Also

Remote Debugging Setup