如何:设置远程调试
更新:2007 年 11 月
本主题适用于:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
速成版 |
||||
标准版 |
||||
专业团队版 |
表格图例:
适用 |
|
不适用 |
|
默认情况下隐藏的一条或多条命令。 |
若要启用远程调试,您可以:
在远程计算机上安装远程调试监视器 (msvsmon.exe) 并在开始调试时启动它,或者
从一个共享中远程运行远程调试监视器。
从一个文件共享中运行远程调试监视器是启用远程调试的最容易的方法。Visual Studio 将 msvsmon.exe 安装到这些目录中:
安装路径\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86
安装路径\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x64
安装路径\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\ia64
IA-64 组件仅在 Visual Studio Team System 中可用。
在 64 位平台上安装 Visual Studio 时,适用于 64 位和 x86 平台的远程调试组件都将安装。而在 x86 平台上安装 Visual Studio 时,默认情况下仅安装适用于 x86 的远程调试组件,但如果在安装过程中选择适当的选项,则也会安装适用于 64 位的调试组件。
在 x86 平台上安装远程调试监视器时,仅安装 x86 远程调试组件。没有用于安装 64 位组件的选项。
通过共享 Visual Studio 计算机上的远程调试器目录,可以在远程计算机上运行 msvsmon.exe。如果远程调试监视器是从共享位置运行的,则以下调试器功能无效:
单步执行 XML Web services。(可能仍然需要手动附加。)
自动调试 ASP.NET Web 应用程序。(同样,可能仍然需要手动附加。)
作为从一个共享中运行的替代方式,可以使用 Visual Studio 2005 远程调试器 CD 在远程计算机上安装必需的远程调试组件。此安装提供对所有远程调试功能的访问。在 x86 平台上运行远程调试器安装时,仅安装 x86 远程调试组件。没有用于安装 64 位组件的选项。如果在 64 位平台上运行远程调试器安装,则会同时安装 x86 和 64 位组件。
对于某些调试方案,必须安装附加组件。
安装远程调试组件
远程调试器可以从 Visual Studio 安装套件的最后一张光盘获得。在远程计算机上插入此光盘。例如,如果在您的安装套件中有四张光盘,请在远程计算机上插入第四张光盘。如果您的安装套件中提供的是 DVD 而不是 CD,请插入该 DVD。
在 Windows Explorer 中,打开 CD 或 DVD。在 CD 上找到 Remote Debugger 文件夹或在 DVD 上找到 vs/Remote Debugger。
在“Remote Debugger”文件夹中,打开与您的平台(x86、x64 或 IA-64)匹配的子文件夹。
启动位于该子文件夹中的 rdbgsetup.exe 并按照说明完成安装。
如果您愿意,可以通过手动复制文件来安装远程调试组件。有关所需组件及其安装位置的列表,请参见远程调试组件。Visual Studio 针对 32 位和 64 位平台,分别提供相应版本的远程调试监视器。如果使用 rdbgsetup.exe,远程组件安装程序会自动安装正确版本的远程调试监视器。如果选择手动复制文件,则必须确保复制的版本是正确的。
安装远程调试组件以后,必须确保具有所需的权限以便对远程计算机上的程序进行调试。请参见 远程调试权限 以获取所需权限的列表。
配置 Windows 防火墙
必须配置 Windows 防火墙才能启用远程调试。在首次启动远程调试时,Visual Studio 会在 Visual Studio 主机上进行必要的配置。同样,当首次在远程计算机上运行远程调试监视器时,远程调试监视器会在远程计算机上配置 Windows 防火墙。
在 Windows XP 上,此配置是完全透明和自动的,但是在 Windows Vista 上,新的安全模型要求先授予权限,然后软件才能配置防火墙。此权限是通过“用户帐户控制”对话框授予的。有关新安全模型和用户访问控制的说明,请参见 Windows Vista 安全模型。
如果远程调试监视器必须在远程计算机上配置 Windows 防火墙,远程计算机上则会显示“用户访问控制”对话框。如果远程计算机不可见,您可能意识不到 UAC 对话框已显示在远程计算机的监视器上。在这种情况下,您可能会误认为远程调试已停止响应。实际上,远程调试监视器只是在等待有人在远程计算机上授予 UAC 权限。
避免此问题的一种方法,是用远程调试器配置向导在远程计算机上预配置防火墙。
必须手动配置 Windows 防火墙的情况是很少见的。如果确实要手动配置,请参见如何:为远程调试手动配置 Windows XP 防火墙或如何:为远程调试手动配置 Windows Vista 防火墙。
使用远程调试器配置向导配置 Windows 防火墙
确保计算机上已安装远程调试组件。
单击“开始”,指向“所有程序”,指向“Visual Studio 9.0”,然后单击“Visual Studio 远程调试器配置向导”。
单击“开始”,指向“所有程序”,指向“Visual Studio 9.0”,然后单击“远程调试器”。
请按照远程调试器配置向导中的说明进行操作。
Web 服务器调试
在 Windows Vista 或 Windows XP SP2 上启用 Web 服务器调试
若要在 Windows Vista 或 Windows XP SP2 上启用 Web 服务器调试,必须执行一些附加步骤。
对于 Windows Vista,请参见如何:在 Windows Vista 上启用 Web 服务器调试。
对于 Windows XP SP2,请参见如何:在 Windows XP SP2 上启用 Web 服务器调试。
开始远程调试
开始远程调试
确保您在远程计算机上具有必需的远程调试权限。有关更多信息,请参见 远程调试权限。
对于 SQL 以外的远程调试,请确保您正在远程计算机上运行远程调试监视器。有关更多信息,请参见 如何:运行远程调试监视器。进行 SQL 调试时,远程调试监视器会在调试期间自动启动。
在调试器主机上启动 Visual Studio。
使用 Visual Studio 连接要在远程计算机上调试的程序或启动要在远程计算机上调试的程序。有关更多信息,请参见如何:附加到运行进程。