首页 > 代码库 > 远程调试 Asp.Net 项目
远程调试 Asp.Net 项目
项目部署到产品环境后,难免会发生一些故障,有一些可以在本地测试环境中直接重现,而有一些则无法重现。对于可以在本地测试环境中重现的Bug,开发人员往往能够很迅速地进行问题排查。而对于无法重现的Bug,就没这么容易了。
Visual Studio 中提供了远程调试的功能,可以帮助我们进行远程调试。
准备环境
1. 本机安装 Visual Studio(,这里用 Visual Studio 2012 进行演示)。
2. 您的 Asp.Net 项目源代码,同时确保远程服务器上使用的正是由该源码编译产生的(Debug、Release 版本都行)。
调试步骤
1. 复制 Microsoft Visual Studio / Visual Studio Tools / Remote Debugger Folder 目录中对应的调试版本到远程服务器。
找到 Remote Debugger Folder
根据服务器,选择对应的版本
把工具复制到远程服务器
2. 在远程服务器运行 msvsmon.exe。
默认的调试选项使用的是 Windows 验证,也就是说当一台机器远程连接到服务器的时候,需要输入登录远程服务器时所用的用户名和密码,只有验证通过才能允许调试,否则无法连接。
在服务器上运行 msvsmon.exe
启动后,会显示如下对话框
如果不想进行用户名密码的验证,则必须设置身份验证模式为 “无身份验证”。
选择 “工具” / “选项”
选择 “无身份验证”,同时勾选 “允许任何用户进行调试”
3. 在用管理员账户运行 Visual Studio,打开 调试 / 附加到进程。
点击 “附加到进程”
3.1 远程服务器采用 “Windows 身份验证”
选择 “传输” 为 “默认值”,在 “限定符” 中输入远程服务器的 IP:端口号,回车。
此时会跳出登录框,填写服务器授权的用户名和密码。
输入用户名和密码
选择 Asp.Net 项目所在的进程,点击 “附加”。如果没有找到进程,请勾选 “显示所有用户进程”。
选择对应的进程进行附加
服务器端会看到 “xxx已连接” 字样
3.2 远程服务器采用 “无身份验证”
选择 “传输” 为 “远程(无身份验证)”,在 “限定符” 中输入远程服务器的 IP:端口号,回车。
选择 Asp.Net 项目所在的进程,点击 “附加”。如果没有找到进程,请勾选 “显示所有用户进程”。
4. 附加到远程进程后,就可以像本地代码一样设置断点,进行调试了。
远程调试 Asp.Net 项目