来源:远程调试C#或 Visual Studio 中的 Visual Basic 项目
若要调试已部署在另一台计算机的 Visual Studio 应用程序,安装和在其中部署您的应用程序的计算机上运行远程工具、 将项目配置为从 Visual Studio 中,连接到远程计算机,然后运行应用。
调试安装的应用程序包。
要求
要求。
备注
调试通过高延迟或低带宽连接,例如拨号 Internet,或通过 Internet 跨国家/地区不建议并可能会失败或很令人无法接受慢。
下载和安装远程工具
在远程设备或服务器,你想要调试,而非 Visual Studio 计算机,下载并安装远程工具的正确版本从下表中的链接。
- 最新的远程工具版本兼容使用早期的 Visual Studio 版本,但早期的远程工具版本不是与更高版本的 Visual Studio 版本兼容。
- 例如,如果你想要调试远程计算机运行 64 位操作系统上的 32 位应用程序,安装 64 位远程工具。
| Version | 链接 | 说明 |
|---|---|---|
| Visual Studio 2017(最新版本) | 远程工具 | 取消阻止文件下载下载远程工具的帮助。 |
| Visual Studio 2015 | 远程工具 | 取消阻止文件下载下载远程工具的帮助。 |
| Visual Studio 2013 | 远程工具 | 下载 Visual Studio 2013 文档中的页 |
| Visual Studio 2012 | 远程工具 | 下载 Visual Studio 2012 文档中的页 |
(可选) 配置远程调试器作为服务。
备注
- 若要调试 ARM 设备上的 Windows 10 应用,使用 ARM64,这是可用的远程工具的最新版本。
- 若要调试在 Windows RT 设备上的 Windows 10 应用,使用 ARM,仅在 Visual Studio 2015 远程工具下载中可用。
提示
从文件共享运行远程调试器。
设置远程调试器
-
在远程计算机上查找和启动远程调试器从启动菜单。
否则,只是它正常启动。
请确保启动要调试您的应用程序所需的版本。
-
第一次启动远程调试器 (或之前已配置),远程调试配置对话框随即出现。
-
如果 Windows Web 服务 API 未安装,这种情况发生,仅在 Windows Server 2008 R2 上,选择安装按钮。
-
如果这些计算机通过工作组或家庭组连接,选择相应的第二个或第三个项。
-
选择配置远程调试,配置防火墙并启动远程调试器。
-
配置完成后,远程调试器窗口会显示。
使用服务器名称和端口号显示在 Visual Studio 中设置的远程连接配置。
您可以重新启动它从启动菜单中,或从命令行:
<Remote debugger installation directory>\msvsmon.exe
备注
配置远程调试器。
远程调试项目
以下过程假设你想要在名为的计算机上调试它MJO DL下, 图中所示。
-
创建一个名为“MyWpf”的 WPF 项目。
-
在代码中的某个容易到达的地方设置断点。
若要执行此操作,打开 MainWindow.xaml,然后添加一个按钮控件从工具箱中,双击按钮以打开它的处理程序。
-
在解决方案资源管理器,右键单击该项目并选择属性。
-
-
请确保“工作目录”文本框为空。
-
端口号递增每个版本的 Visual Studio 中的 2)。
-
请确保未选中“启用本机代码调试”。
-
生成项目。
-
在远程计算机上创建一个文件夹,其路径与 Visual Studio 计算机上的调试文件夹相同:<source path>\MyWPF\MyWPF\bin\Debug。
-
将你刚才从 Visual Studio 计算机生成的可执行文件复制到远程计算机上新创建的文件夹。
注意
复制到远程计算机的可执行文件必须与你的本地源和符号完全匹配。
可以手动复制该项目,使用 Xcopy、 Robocopy、 Powershell 或其他选项。
-
远程调试器窗口外观如下所示。
-
在 Visual Studio 中,开始调试(单击“调试”>“启动调试”,或按 F5)。
-
如果系统提示,请输入网络凭据以连接到远程计算机。
在非域计算机上,你可能会输入计算机名称和有效的用户帐户名称,如MJO-DL\name@something.com,以及正确的密码。
应看到远程计算机上打开了 WPF 应用程序的主窗口。
-
了解符号文件和 Visual Studio 的符号设置。
-
在 Visual Studio 机器上,你应看到执行在断点处停止。
在每个文件的“属性”页中,将“复制到输出目录”设置为“始终复制”。
使用远程符号设置调试
如果必须使用远程符号,则需要告诉远程调试监视器以查找远程计算机上的符号。
从 Visual Studio 2013 Update 2 开始,你可以使用以下 msvsmon 命令行开关以托管代码中使用远程符号: Msvsmon /FallbackLoadRemoteManagedPdbs
.NET 远程符号加载更改 Visual Studio 2012 和 2013年中