项目部署到产品环境后,难免会发生一些故障,有一些可以在本地测试环境中直接重现,而有一些则无法重现。对于可以在本地测试环境中重现的Bug,开发人员往往能够很迅速地进行问题排查。而对于无法重现的Bug,就没这么容易了。

Visual Studio 中提供了远程调试的功能,可以帮助我们进行远程调试。

  • 本机安装 Visual Studio(,这里用 Visual Studio 2012 进行演示)

  • 您的 Asp.Net 项目源代码,同时确保远程服务器上使用的正是由该源码编译产生的(Debug、Release 版本都行)

    找到 Microsoft Visual Studio / Visual Studio Tools / Remote Debugger Folder 目录中对应的调试版本到远程服务器

    http://jingyan.baidu.com/article/59a015e3a75708f794886533.html

    其实是想监视一下服务器上IIS的进程回收机制,看我写的Cache定期更新是不是可用。本地是xp也没法安装IIS6.0,没办法必须要用远程调试。

    对现有代码进行调试。

    步骤很简单:

    1.启动远程调试组件

    1)安装调试组件:远程服务器上只需要安装visual Studio的Remote Debugger远程调试组件就可以了,具体安装方法MSDN上已有详细的描述。

    2)运行调试组件:安装完成后,在开始菜单visual studio Tools 下,运行Remote debuger。或者找到文件C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86\msvsmon.exe.

    3)运行mvsmon.exe,设置工具-选项为Windows身份验证,否则断点会不起作用

    控制面板的用户选项里面,添加和远程机相同的用户命,密码,可以在用户管理里直接添加。

    shift+右键--以其他身份运行-启动VisualStudio

    调试-附加到进程(注意传输选择:默认值,限定符输入远程机IP )

    执行刷新,附加到指定进程就可以了

    如果要调试远程WebService,需要将web.config里面的Debug选项设置为true,还要讲对应的pdb符号文件拷过去。

    <system.web> <compilation debug="true" targetFramework="4.0" /> </system.web>

    2.调试

    1)更改虚拟路径。把要调试的解决方案的代码拷贝远程服务器,并共享。在IIS上设置需要调试网站的虚拟路径,指向解决方案下的表示层。

    2)在本地打开远程服务器上的解决方案代码。

    3)附加到进程。运行后,就可以在本地的visual studio的开发平台下,附加到远程服务器的进程了。调试>附加到进程。在附加到进程窗口选择限定符为远程服务器名,当然要保证用户对远程服务器有管理员权限。

    这样就OK了,设置断点尽情调试吧。

    WebService调试也相同。

远程调试 Asp.Net 项目的更多相关文章

  1. VS2013中使用本地IIS+域名调试ASP.NET项目

    VS2013中使用本地IIS+域名调试ASP.NET项目 在有些情况下需要使用本地的IIS作为调试服务器,如支持多域名的网站,这里记录下如何使用. 1.修改本机hosts文件. 路径:C:\Windo ...

  2. 远程调试 ASP.NET MVC 项目

    Visual Studio 支持从一台计算机到另一台设备的远程调试.进行远程调试时,主机可以是任何支持 Visual Studio 的平台.远程设备可以是 x86.x64 或 ARM 平台. 本文将指 ...

  3. 看图说话,idea 远程调试 tomcat下项目

    tomcat中部署了项目,准备测试远程调试. 1.配置idea 2. 修改catalina.bat,并启动tomcat catalina.bat: ...rem 下面的参数就是从idea配置中复制过来 ...

  4. 通过IIS调试ASP.NET项目

    当我们使用Visual Studio调试的时候,通常我们会选择VS自带的ASP.NET Developerment Server(也是默认选项),当第一次调试的时候(按F5或Ctrl+F5不调试直接打 ...

  5. Visual Studio 2015 + IIS Express 10.0 调试 ASP.NET 项目

    参考资料: https://msdn.microsoft.com/zh-cn/library/58wxa9w5(v=vs.120).aspx 首先搭建环境, 也就是用 IIS Express 配置一个 ...

  6. idea远程调试tomcat部署项目(windows环境)

    1.tomcat启动之前,修改apache-tomcat-8.5.34\bin\catalina.bat文件,设置调试端口 如下设置(windows环境): rem ----------------- ...

  7. 在IIS里面调试asp.net程序

    写在前面,在IIS里面调试asp.net程序,要分程序类型考虑: 一.调试asp.net项目: 1.选择"项目名",右击"属性": 2.选中"Web& ...

  8. 惊呆了!Spring Boot 还能开启远程调试?

    持续原创输出,点击上方蓝字关注我 目录 前言 什么是远程调试? 为什么要远程调试? 什么是JPDA? 如何开启调试? transport server suspend address onthrow ...

  9. Visual Studio 调试系列12 远程调试部署在远程计算机IIS上的ASP.NET应用程序

    系列目录     [已更新最新开发文章,点击查看详细] 要调试已部署到IIS的ASP.NET应用程序,请在部署应用程序的计算机上安装并运行远程工具,然后从Visual Studio附加到正在运行的应用 ...

随机推荐

  1. “打开ftp服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹"

    阿里云虚拟主机上传网站程序 问题场景:网页制作完成后,程序需上传至虚拟主机 注意事项: 1.Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . 2. 如果网页文件较多,上传较慢 ...

  2. InnoDB INFORMATION_SCHEMA Lock Tables

    InnoDB INFORMATION_SCHEMA Lock Tables 三张InnoDB INFORMATION_SCHEMA表使您能够监视事务并诊断潜在的锁定问题: INNODB_TRX:提供有 ...

  3. 04--activiti demo

    核心API1:ProcessEngine说明:1) 在Activiti中最核心的类,其他的类都是由他而来.2) 产生方式: ProcessEngine processEngine = ProcessE ...

  4. 【C#】【数据结构】005-栈:顺序栈

    C#数据结构:顺序栈 1.自定义顺序栈结构: /// <summary> /// 顺序栈 /// </summary> /// <typeparam name=" ...

  5. 【7.1.1】ELK日志系统单体搭建

    ELK是什么? 一般来说,为了提高服务可用性,服务器需要部署多个实例,每个实例都是负载均衡转发的后的,如果还用老办法登录服务器去tail -f xxx.log,有很大可能错误日志未出现在当前服务器中, ...

  6. 用AOP来让你的JS代码变得更有可维护性吧

    此文已由作者吴佳祥授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 好吧我承认这是篇任务. 最近看到个消息,ES2017已经定稿了,心想,我去,还完全没了解ES2016呢,ES ...

  7. BNUOJ 2345 Muddy Fields

    Muddy Fields Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on PKU. Original I ...

  8. 【ITOO 3】.NET 动态建库建表:实用EF框架提供的codeFirst实现动态建库

    导读:在上篇博客中,介绍了使用SQL字符拼接的方式,实现动态建库建表的方法.这样做虽然也能够实现效果,但是,太麻烦,而且,如果改动表结构,字段的话,会对代码修改很多.但是EF给我们提供了一种代码先行的 ...

  9. 日志不得应用情况切换强制standby改变状态为primary

    日志不得应用情况切换备库为主库 备库运行如下: alter database recover managed standby database disconnect from session; alt ...

  10. 公路修建(Prim)

    洛谷传送门 这道水题告诉了我,堆优化的prim有时还不如朴素prim快... 居然记错时间复杂度了,我也真是菜. #include <cstdio> #include <queue& ...