How can I remote debug on another workgroup machine?
I have used the "Attach to process" function within VS 2008 many times, but never actually on a remote machi开发者_开发百科ne. Now I have to do it and I already read a bunch about it on the net. After playing around a bit I've reached a point where I am not quite sure how to proceed. First of all, here's a quick list of what I've done so far:
Test machine (Win XP Pro SP3 x86):
- Install Msvsmon
- Change local policy for local accounts to "Classic - local users authenticate as themselves"
- Deactivated the windows firewall (yeah, not a great idea, but to avoid any port problems)
- Planted a copy of the application that is to be debugged including pdb files
- Created a user account that has the same name and password as on my dev machine
- Made sure the new created account is admin and has permission for remote debugging
VS host machine (Vista Home Premium x64 SP2, VS 2008 pro SP1)
- Deactivate firewall
- Made sure I can access the test machine via UNC path (works)
So, network communication works. Firewalls are off. Msvsmon is running on the test machine. But when I try to connect via "Attach to process" and enter the computer name of the test machine, I get this (translated from German):
The connection to the visual studio remote debug monitor with the name "TESTMACHINE" could not be established. Visual Studio remote debugger does not support that windows version.
It took a while until I found out that "windows version not supported" actually is trying to say "authentification error".
I even tried connection using "Remote without authentification" instead of "Standard", even though it won't work for me since I need to debug managed code. So I adjusted Msvsmon accordingly and the connection worked (I could select processes, but of course I could not really debug). So that makes me believe I'm having an authentification problem.
So finally, my question:
How do I set up users/authentification on both machines so I can remotely debug managed code within the same workgroup?
The local user names are the same, but how do I allow "DEVMACHINE\me" to remote debug on a machine where "me" is actually "TESTMACHINE\me"?
Thanks ;)
I finally found out what the problem was. It seems that the remote deugger does not run on Vista Home Premium (!), as can be read here:
Remote debugging does NOT support Vista Home Premium. Remote Debugging requires an operating system that supports full Windows Authentication. In some future version of Visual Studio, we hope to support other forms of authentication. However, we are currently deeply tied to Windows Authentication. For now there are two options - buy a business edition of Windows or debug locally.
Personally, I believe this is ridiculous - I actually have a Vista Business license, but Home Premium was pre-installed on my dev machine and I just left it there.
精彩评论