在软件开发过程中,测试和调试代码所花费的时间往往比编写代码本身要多。因此,即使是微小的时间节省,也能在总体上带来显著的效益。节省下来的时间可以用于其他更有价值的工作。本文将展示如何设置远程调试环境,以提高安全性和生产力。虽然这些信息在互联网上可以找到,但它们分散在各处,通过搜索引擎难以查找。
本文将展示设置远程调试环境所需的步骤,以提高安全性和生产力。将在不同于开发机器的机器上设置远程调试,例如使用Hyper-V虚拟机来帮助解释设置过程。
设置远程机器
Microsoft Remote Debugging Page 提供了如何在远程机器(如虚拟机)上设置远程调试器的说明。为了便于参考,下面复制了相关内容:
- 找到 Remote Debugger Configuration Wizard (rdbgwiz.exe)。(这是与远程调试器分开的应用程序。)它仅在安装远程工具时可用。它不是与 Visual Studio 一起安装的。
- 启动配置向导。当第一页出现时,点击 "Next"。
- 勾选 "Run the Visual Studio 2015 Remote Debugger as a service" 复选框。
- 添加用户帐户的名称和密码。
- 您可能需要为这个帐户添加 "Log on as a service" 用户权限(在 "Start" 页面或窗口中找到 "Local Security Policy" (secpol.msc),或者在命令提示符中输入 "secpol"。当窗口出现时,双击 "User Rights Assignment",然后在右侧窗格中找到 "Log on as a service"。双击它。将用户帐户添加到 "Properties" 窗口中,然后点击 "OK")。点击 "Next"。
- 选择您希望远程工具与之通信的网络类型。至少必须选择一种网络类型。如果计算机通过域连接,则应选择第一项。如果计算机通过工作组或家庭组连接,则应选择第二或第三项。点击 "Next"。
- 如果服务可以启动,您将看到 "You have successfully completed the Visual Studio Remote Debugger Configuration Wizard"。如果服务无法启动,您将看到 "Failed to complete the Visual Studio Remote Debugger Configuration Wizard"。该页面还提供了一些启动服务的提示。点击 "Finish"。
此时,远程调试器作为服务运行。您可以通过 "Control Panel > Services" 并查找 "Visual Studio 2015 Remote Debugger" 来验证这一点。
您可以从 "Control Panel > Services" 停止和启动远程调试器服务。
设置用于验证调试器服务的帐户
上述第4点的解释。如果缺少 secpol.msc,则可以使用以下方法之一进行安装,直到其中一个有效:
- 从 安装组策略管理控制台。
- 或者按照 的说明安装组策略客户端服务包。
一旦安装了策略管理控制台和/或可用,按照上一节中的第4点,授予用户 "log on as a service" 权限,如下图所示:
使用本地机器进行调试
一旦远程调试器设置并作为服务运行,您可以使用本地机器上的IDE连接到它,进行无缝调试。
- 在您的 Visual Studio IDE 中,打开 "Debug" 菜单 -> "Attach to Process"。
- 将连接类型保留为 "Default"。
- 将连接目标更改为 ":" 并按 "Enter"。
- 使用与启动远程调试器服务相同的用户名和密码进行身份验证。
- 身份验证是一次性活动。
- 选择要调试的进程并开始调试。
- 可选地,选择显示所有用户的进程,以查看您感兴趣的进程。