0

My development machine is a 2008 R2 x64 domain controller (it has evolved to that point through attrition on my now one-machine domain, and will not change for the near future). The ASP.NET MVC app I wish to debug is deployed to a 2008 R2 x64 workgroup machine that I have LogMeIn/VPN access to.

I installed msvsmon.exe on the remote machine as a service. The issue I believe I'm running into is that for some reason you can't connect to msvsmon unless the remote account it's running under is also an account on the host machine (I don't see any way to just explicitly provide the credentials for the remote connection).

Since my host machine is a DC, I can't create the required local account to mirror the msvsmon service account.

I have a VPN connection from the development machine to the deployment machine. When configuring msvsmon, I selected "only allow computers from the local network to connect," assuming that VPN counts as a local network. I have TCP 135, UDP 500, and UDP 4500 open on the remote machine.

I'm assuming that's the end of the story, and I'm doomed to a full install of VS on the remote machine but figured it was worth asking. Is there any way to solve this short of that?

osoviejo
  • 481
  • 6
  • 17
  • Are you sure it's not a firewall issue? Is the remote machine accessed via the internet? – Erik Funkenbusch Sep 22 '12 at 19:28
  • No, I'm not sure. However, the error I'm getting when I enter the server name (that msvsmon displays) in the VS Debug/Attach to Process... dialog is "Login failure: unknown user name or bad password." How would I go about debugging remote debugging? – osoviejo Sep 22 '12 at 19:41

1 Answers1

1

You only have two options for remote debugging. Windows Authentication or No Authentication. If you enable No Authentication, than anyone can connect to it and do pretty much anything on the machine, essentially allowing them to control it. If the machine is on the internet, then remote attackers can just scan your computer looking for remote debugging.

If the machine is on a secure network, however, then you will probably be ok.

This link tells you how to configure remote debugging

http://msdn.microsoft.com/en-us/library/bt727f1t.aspx

Otherwise, you could create a virtual machine on your local computer and install visual studio on that. At least you don't have to install it on a remote machine somewhere.

Erik Funkenbusch
  • 92,674
  • 28
  • 195
  • 291
  • Thanks MM, I'm using the Windows Authentication option, which is probably where I'm running into the issue with not being able to create a local account on a DC. I'm unclear on what your last suggestion buys me. I can deploy the app now on my dev machine's (public) IIS server and remote debug it fine (the server name in this case is just the dev machine name). The app runs fine when deployed in this way. It's blowing up only on the deployment server. – osoviejo Sep 22 '12 at 20:41
  • @osoviejo - Since you can't create a local account on a DC, the only options you have are setting No Encryption on the server, setting up a visual studio install on the remote server, or setup a visual studio install on a separate machine that is not a domain controller on the local network (either physical or virtual) and then creating a local account that matches an account on the remote server. I was just saying, that last option would make it so you didn't have to setup visual studio on the production computer. – Erik Funkenbusch Sep 22 '12 at 20:51
  • Looks like it's No Auth. Once the issue is resolved, I'll disable remote debugging. Seems like remote debugging is a lot harder than it needs to be. Thanks again. – osoviejo Sep 22 '12 at 21:21
  • @osoviejo - yes, this is as it has always been. It has become easier though, it used to be really difficult. And, let's face it, you are in a weird situation. it's pretty unheard of to develop on your domain controller, and even more so to need to interact with a non-domain machine from that domain controller. – Erik Funkenbusch Sep 22 '12 at 21:28
  • Unfortunately, the "no auth" option only applies to native code ("the requested name is valid, but no data of the requested type was found") so one way or another I'm down to installing VS. – osoviejo Sep 22 '12 at 23:03
  • @osoviejo - the default remote debugger install only installs the native components. Did you install the Full Remote Debugging option? – Erik Funkenbusch Sep 22 '12 at 23:07
  • I think so, downloaded it from http://www.microsoft.com/en-us/download/details.aspx?id=475 and selected everything available. – osoviejo Sep 22 '12 at 23:20
  • @osoviejo - you should probably be using the SP1 version, particularly if you have VS 2010 SP1 installed, also make sure you have the correct version x64 or x86 if the server is 64 bit or 32 bit. Make sure you uninstall the non-sp1 version first, don't just install over it – Erik Funkenbusch Sep 22 '12 at 23:48