要在 Microsoft? Windows? XP SP2 平台上启用远程调试功能,必须对 Internet 连接防火墙 (ICF) 进行如下配置:
●如果 ICF 处于“屏蔽”模式,您需要执行适当的操作,使其不再处于该模式。
●如果 ICF 已开启,则需要打开几个端口,并将权限授予 Microsoft? Visual Studio? 和远程调试所涉及的其他可执行文件。
●如果 IFC 已关闭,则无需配置防火墙。
●此外,如果运行 Visual Studio 的用户不是远程计算机上的管理员,则需要配置 DCOM 设置。
以下是启用远程调试的分步说明。当前用户必须具有管理员权限,才能执行这些步骤。这些说明只适用于基于 IPV4 的网络设置。
在安装有 Visual Studio 的计算机上
要运行 Internet 连接防火墙应用程序,请按下列步骤进行:
1.从 Start 菜单中打开“控制面板”。
2.在“控制面板”中,单击 Network and Internet Connections。
3.单击 Configure your firewall。
这样,Internet 连接防火墙应用程序将运行。

4.单击 Permissions 标签。

5.打开 TCP 135 端口。
DCOM (RPC) 使用 TCP 135 端口。如果您的应用程序使用 DCOM 与远程计算机通讯,则必须打开此端口。要打开此端口,请按下列步骤进行:
a.单击 Add。
b.选择 Specify a port。
c.选择 TCP 协议。
d.在 Port Number 中键入 135。
e.给出描述。
f.可选:选择 Local Subnet Only。

g.单击 OK。
6.打开 UDP 4500。
该端口用于 IP 安全性。如果您的域策略要求所有网络通讯都必须通过 IPSec 进行,则必须为所有网络操作打开此端口。如果您的域策略不需要 IPSec,则可以跳过这一部分。要打开此端口,请按下列步骤进行:
a.单击 Add。
b.单击 Specify a port。
c.选择 UDP 协议。
d.在 Port Number 中键入 4500。
e.给出描述。
f.可选:选择 Local Subnet Only。
g.单击 OK。
7.打开 UDP 500。
该端口用于 IP 安全性。如果您的域策略要求所有网络通讯都必须通过 IPSec 进行,则必须为所有网络操作打开此端口。如果您的域策略不需要 IPSec,则可以跳过这一部分。要打开此端口,请按下列步骤进行:
a.单击 Add。
b.选择 Specify a port。
c.选择 UDP 协议。
d.在 Port Number 中键入 135。
e.给出描述。
f.可选:选择 Local Subnet Only。
g.单击 OK。
8.启用文件和打印共享。
要打开共享文件和打印机所必需的端口,请按下列步骤进行:
a.在 Programs and Services 组中,选择 File and Print Sharing。
b.单击 Edit。
c.检查是否列出下列端口:
●TCP 139
●TCP 445
●UDP 137
●UDP 138
可选:为每个端口选择 Local Subnet Only。

●单击 OK。
9.将 Devenv 添加到白名单中。
要启用需要在运行时动态打开窗口才能正常工作的应用程序,您需要将它添加到具有适当权限的程序和服务列表中,或者添加到“白名单”中。为此,请按下列步骤进行:
a.单击 Select a program。
b.单击 Browse。
c.定位到 Devenv.exe 所在的位置并选择它。Devenv.exe 通常位于 SystemDrive:\Program Files\Microsoft Visual Studio .NET (2003)\Common7\IDE。
d.单击 OK。
e.给出描述。
f.可选:选择 Local Subnet Only。

g.单击 OK。
h.再次单击 OK 以保存设置。
在远程计算机上
在调试器计算机上打开的所有端口也必须在远程计算机上打开。请按照说明打开 TCP 135、UDP 4500 和 UDP 500,并启用文件和打印机共享。
完成这些操作后,必须将以下可执行文件添加到白名单中:Mdm.exe、VS7Jit.exe 和 MSVCMon.exe。
将 Mdm 添加到白名单中
MDM 是 Visual Studio 调试器用于远程调试的一个组件。它需要位于能够在运行时动态打开 DCOM 端口的应用程序列表中。步骤如下:
1.单击 Add。
2.单击 Select a program。
3.单击 Browse。
4.定位到 Mdm.exe 所在的位置并选择它。Mdm.exe 位于 SystemDrive:\Program Files\Common Files\Microsoft Shared\VS7Debug。
5.给出描述。
6.可选:为每个端口选择 Local Subnet Only。
7.单击 OK。
将 Vs7jit 添加到白名单中
VS7jit 是 Visual Studio 调试器用于远程调试的一个组件。它需要位于能够在运行时动态打开 DCOM 端口的应用程序列表中。为此,请按下列步骤确定 vs7jit.exe 的短文件路径:
1.从 Start 菜单中选择 Run。
2.在 Run 对话框的 Open 文本框中输入“cmd.exe”。
3.在 Windows 命令提示符下,输入下面的文本,然后按回车键:
| for %d in ("%CommonProgramFiles%\Microsoft Shared\VS7Debug\vs7jit.exe" ) do @echo %~sd |
4.通过该命令保存输出,该输出应与以下内容类似: 'C:\PROGRA~1\COMMON~1\MICROS~1\VS7Debug\vs7jit.exe'。
5.返回到 ICF 配置。
6.单击 Add。
7.单击 Select a program。
8.键入 vs7jit.exe 的短路径。
9.给出描述。
10.可选:为每个端口选择 Local Subnet Only。
11.单击 OK。
将 MSVCMon 添加到白名单中
MSVCMon 是 Visual Studio 调试器用于远程调试的一个组件。它需要位于能够在运行时动态打开 DCOM 端口的应用程序列表中。步骤如下:
1.单击 Add。
2.单击 Select a program。
3.单击 Browse。
4.定位到 MSVCMon.exe 所在的位置并选择它。MSVCMon.exe 位于 SystemDrive:\Program Files\Common Files\Microsoft Shared\VS7Debu。
5.单击 OK。
6.给出描述。
7.可选:为每个端口选择 Local Subnet Only。
8.单击 OK。
9.再次单击 OK 以保存设置。
启用 Web 服务器调试
要执行基于 Web 的调试,需要打开端口 TCP 80。这对于 Microsoft?ASP.NET 调试、传统 ASP 调试和 ATL 服务器调试都是如此。
要打开此端口,请按下列步骤进行:
1.单击 Add。
2.选择 Specify a port。
3.选择 TCP 协议。
4.在 Port Number 中键入 80。
5.给出描述。
6.可选:选择 Local Subnet Only。
7.单击 OK。
启用脚本调试(包括传统 ASP 调试)
要调试运行在远程计算机上的脚本代码,必须将宿主脚本代码的进程添加到白名单中。对于传统 ASP 调试,通常将脚本代码加载到 dllhost.exe 或 inetinfo.exe 中。对于运行在 Internet Explorer 中的脚本,通常将脚本代码加载到 iexplore.exe 或 explorer.exe 中。
要将脚本主机添加到白名单中,请按下列步骤进行
1.单击 Add 按钮。
2.单击 Select a program。
3.单击 Browse 按钮。
4.定位到宿主程序的位置并选择它。
5.单击 Open。
6.给出描述。
7.可选:为每个端口单击 Local Subnet Only 按钮。
8.单击 OK。
对于一般用户模式
如果您作为一般用户(而非管理员)来运行调试器,则需要拥有可执行文件所在目录的完全访问权。
此外,如果您不是远程计算机的管理员,则需要访问和启动权限。为此,您必须获得管理员权限,并按照下列说明执行:
1.运行 DCOMCNFG。

2.双击 Component Services 节点。
3.双击 Computers。
4.选择 My Computer,然后单击 Configure My Computer。

5.在 My Computer 对话框中,单击 COM Security 标签。
6.在 Launch and Activate Permissions 下,单击 Edit Limits 按钮。
7.如果您的名称或组没有出现在 Groups or user names 列表框中,请执行下列操作:
●单击 Add 按钮。
●填加您的名称或组。
●单击 OK。
8.在“允许”列中,单击 Remote Activation。

9.单击 OK 以完成配置。
小结
在 Windows XP Service Pack 2 中引入的安全增强功能要求那些需要在这些计算机上进行开发工作的开发人员执行额外的操作。本文概述了成功准备调试安装有 Service Pack 2 的计算机所需的步骤。