Visual Studio远程调试服务

时间:2011-07-18 23:01:10

标签: debugging service visual-studio-2005

我正在尝试使用visual studio 2005远程调试服务。

当我运行msvsmon.exe作为应用程序时,我获得了UI,我可以将其更改为noauth和anyuser,然后当我尝试从visual studio远程连接到该过程时,我得到一个错误说它可以' t附加到正在运行msvsmon.exe的会话中运行的进程。该服务的会话为0.

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

该服务的binPath是:“c:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ Remote Debugger \ x86 \ msvsmon.exe”/ service msvsmon90

/ noauth和/ anyuser都是msvsmon的命令行开关。

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

将服务的binPath更改为:

“c:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ Remote Debugger \ x86 \ msvsmon.exe”/ service msvsmon90 / noauth / anyuser

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

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

3 个答案:

答案 0 :(得分: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时调试一些代码。

答案 1 :(得分:2)

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

所以工作示例:

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

答案 2 :(得分:0)

另一个有用的开关是/ nowowwarn在64位计算机上抑制Win32监视器的警告。 有关所有可用开关的综合列表,请运行\ msvsmon /?