如何在另一台工作组计算机上进行远程调试?
我曾多次使用 VS 2008 中的“附加到进程”功能,但从未真正在远程计算机上使用过。现在我必须这样做,而且我已经在网上读到了很多相关内容。经过一番尝试后,我已经不太确定如何继续。首先,这是我迄今为止所做的快速列表:
测试机(Win XP Pro SP3 x86):
- 安装 Msvsmon
- 将本地帐户的本地策略更改为“经典 - 本地用户以自己的身份进行身份验证”
- 停用 Windows 防火墙(是的,不是一个好主意,但为了避免任何端口问题)
- 植入了要调试的应用程序的副本,包括 pdb 文件
- 创建了一个与我的开发计算机上具有相同名称和密码的用户帐户
- 确保新创建的帐户是管理员并且具有远程调试
VS 主机的权限(Vista Home Premium x64 SP2、VS 2008 pro SP1)
- 停用防火墙
- 确保我可以通过 UNC 路径访问测试机(有效)
因此,网络通信有效。防火墙已关闭。 Msvsmon 正在测试机上运行。但是当我尝试通过“附加到进程”进行连接并输入测试机器的计算机名称时,我得到了以下信息(翻译自德语):
与视觉工作室的连接 具有名称的远程调试监视器 “测试机”不能 已确立的。 Visual Studio 远程 调试器不支持windows 版本。
我花了一段时间才发现“不支持Windows版本”实际上是在试图说“身份验证错误”。
我什至尝试使用“无需身份验证的远程”而不是“标准”进行连接,尽管它对我不起作用,因为我需要调试托管代码。所以我相应地调整了 Msvsmon 并且连接有效(我可以选择进程,但当然我无法真正调试)。所以这让我相信我遇到了身份验证问题。
最后,我的问题:
如何在两台计算机上设置用户/身份验证,以便可以在同一工作组中远程调试托管代码?
本地用户名是相同的,但是如何允许“DEVMACHINE\me”在“me”实际上是“TESTMACHINE\me”的机器上进行远程调试?
谢谢 ;)
I have used the "Attach to process" function within VS 2008 many times, but never actually on a remote machine. 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 ;)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我终于知道问题出在哪里了。远程调试器似乎无法在 Vista Home Premium 上运行(!),可以阅读 此处:
就我个人而言,我认为这很荒谬 - 我实际上拥有 Vista Business 许可证,但 Home Premium 已预装在我的开发计算机上,我只是将其留在那里。
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:
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.