6
votes

I'm trying to remotely debug an exe, but I keep getting an error message. Here's the configuration:

On the dev machine:

  • Windows Vista 32-bit
  • Visual Studio 2010
  • Firewall disabled

On the remote machine:

  • Windows 7 64-bit
  • msvsmon.exe (shared from the dev machine)
  • MyProgram.exe (32-bit, C#, .Net 4.0)
  • Firewall disabled

Both machines are on the same domain. I'm logged in with the same account, which has administrator rights on both machines.

And here's what I do:

  • Starting msvsmon.exe on the remote computer (using 'run as admin')
  • msvsmon output: new server named domain\login@machine created. Waiting for input connections.
  • From visual studio: Debug > Attach to process. Filling the Qualifier field with domain\login@machine
  • visual studio output: Unable to connect to the Microsoft Visual Studio Remote Debugging Monitor named "machine". Access denied.
  • msvsmon output: domain\login connected

What did I miss?

EDIT:

Looks like it's working if the dev machine is 64-bit too (tried on a Win7 x64). So now the question is: how to make it work from my Windows Vista 32?

1
Is there one or more physical firewall in your network? If yes, then you should also configure it to open some ports (see MSDN for details). - ken2k
Not sure if it's applicable to your exact setup but one thing that always caused me problems in a similar setup was if the remote and local debugger binaries are not the same version. Is the msvsmon version the same on the remote computer as what you are trying to connect with? - Mark Smith
i dont know too much about the internals but i would think x64 may be causing an issue. can you try it from a x64 dev machine (same setup) ? is msvsmon running as 32bit process on remote machine? - wal
I can't easily use a x64 dev machine for now. The version of msvsmon is the x86 provided with VS2010 (but I also tried with the x64 version with no more luck). - gregseth
Ok, it was not that hard to try on a 64-bit dev environment, and it works fine (!). - gregseth

1 Answers

5
votes

So the answer is: it's not possible.

To debug a process (either 32 or 64 bits) on a remote 64-bit machine, you have to use a 64-bit machine locally.