2011-07-18 171 views
5

我使用Visual Studio 2005Visual Studio远程调试服务

试图远程调试服务当我运行Msvsmon.exe作为一个应用程序,我得到的UI,我可以将其更改为NOAUTH和anyuser ,那么当我尝试从Visual Studio远程连接到该进程时,我得到一个错误,声称它无法附加到msvsmon.exe未运行的会话中运行的进程。服务的会话是0.

因此,我可以成功运行msvsmon.exe作为服务,但我无法将其设置为/ noauth和/ anyuser模式。

的binPath的服务是: “C:\ Program Files文件\微软的Visual Studio 9.0 \ Common7 \ IDE \远程调试器\ 86 \ msvsmon.exe”/服务msvsmon90

都/ NOAUTH和/ anyuser是命令行切换为msvsmon。

填写服务属性窗口中的“启动参数”不会影响任何内容。

改变服务的binPath到:

“C:\ Program Files文件\微软的Visual Studio 9.0 \ Common7 \ IDE \远程调试器\ 86 \ msvsmon.exe”/服务msvsmon90/NOAUTH/anyuser

也不起作用(因为服务无法正常启动)。

如何让远程调试监视器在noauth和anyuser模式下作为服务运行?

回答

2

不知道这是否适用于您,但是您是否尝试过使用psexec(来自sysinternals)在会话0上交互式运行msvsmon?

命令行会是这样的(从提升的命令提示符):

psexec –sd –i 0 "c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe" /noauth /anyuser

我在做类似注销的Windows时,调试一些代码的东西。

+0

/nosecuritywarn也是必需的。 –

1

您将需要一个额外的开关来抑制警告,因为程序实际上并不会启动,而是卡住在这种情况下的警告消息中(您可以在添加/ port:xxx参数时检查btw并查看没有抑制的情况在指定的端口没有监听器)。

所以工作实例:

64位机器上
psexec –sd –i 0 "c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe" /noauth /anyuser /port:4000 /nosecuritywarn 
+0

开关“/ nosecuritywarn”这样做。谢谢! –

0

另一种有用的开关/ nowowwarn抑制警告为Win32监视器。 有关所有可用交换机的完整列表,请运行\ msvsmon /?