远程调试 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. 附加到远程进程后,就可以像本地代码一样设置断点,进行调试了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。