1

目前三个开发人员共享一个 IIS 盒子进行测试。由于第三方工具和其他限制,我们无法在本地运行项目,因此远程调试是唯一的选择。我们当前的流程是远程连接到网络服务器,运行 iisapp.vps 以获取我们各个站点的 PID,然后在 VS2008 中运行远程调试以连接到该 pid。

我已经找到了自动连接到 w3wp 的脚本,如果它是唯一运行的脚本,但是我还没有找到一种方法可以远程找到脚本中的 w3wp PID 并使用它来附加。

4

1 回答 1

1

大多数使用 IIS 的脚本都假定您在本地计算机上运行。如果您查看脚本代码,它很可能使用 WMI 与 IIS 一起工作,并且它必须做的第一件事是连接到 WMI 提供程序,该提供程序始终需要机器名称和 WMI 提供程序路径。本地机器的机器名称通常表示为“.”。需要的地方。

例如:

strComputer =“。”
设置 objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")

设置 colProcesses = objWMIService.ExecQuery(_
    "select * from win32_process Where Name = 'w3wp.exe'")
对于 colProcesses 中的每个 objProcess
    WScript.Echo objProcess.ProcessId

如果您将 strComputer 更改为指向 IIS 服务器,您将获得查询时运行的所有 w3wp 进程的 PID。

注意:上面的代码是一个脚本的片段,不是一个完整的程序。

于 2009-08-24T04:40:33.290 回答