项目部署到产品环境后,难免会发生一些故障,有一些可以在本地测试环境中直接重现,而有一些则无法重现。对于可以在本地测试环境中重现的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. Linux查看配置文件中未被注释的有效配置行

    grep 命令示例——去掉注释 $ grep -v "^#" /path/to/config/file $ grep -v "^#" /etc/apache2/ ...

  2. 算法导论 第三章 and 第四章

    第三章 渐进的基本O().... 常用函数 % 和  // 转换 斯特林近似公式 斐波那契数 第四章 分治策略:分解(递归)--解决(递归触底)--合并 求解递归式的3种方法: 1:代入法(替代法): ...

  3. u-boot-2012.04.01移植笔记——支持NAND启动

    1.加入nand读写函数文件: 对于nand的读写我们需要特定的函数,之前写最小bootloader的时候曾写过nand.c文件,我们需要用到它.为了避免混淆,我们先将其改名为init.c,然后拷贝到 ...

  4. 大数据学习——点击流日志每天都10T,在业务应用服务器上,需要准实时上传至(Hadoop HDFS)上

    点击流日志每天都10T,在业务应用服务器上,需要准实时上传至(Hadoop HDFS)上 1需求说明 点击流日志每天都10T,在业务应用服务器上,需要准实时上传至(Hadoop HDFS)上 2需求分 ...

  5. 前端传list,springmvc接收list的方法

    handler: function() { var baseCustomerForm = me.getAddBaseCustomerForm().getForm(); var linkStore = ...

  6. Triangular Pastures (二维01背包)

    描述Like everyone, cows enjoy variety. Their current fancy is new shapes for pastures. The old rectang ...

  7. PTA 03-树2 List Leaves (25分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/666 5-4 List Leaves   (25分) Given a tree, you ...

  8. iOS第三方地图-百度地图常用功能使用(POI搜索,地理正反编码,定位,添加标注)

    百度地图官网: http://developer.baidu.com/map/index.php?title=iossdk 百度地图集成 1.引入相关包

  9. [POJ2594] Treasure Exploration(最小路径覆盖-传递闭包 + 匈牙利算法)

    传送门 引子: 有一个问题,是对于一个图上的所有点,用不相交的路径把他们覆盖,使得每个点有且仅属于一条路径,且这个路径数量尽量小. 对于这个问题可以把直接有边相连的两点 x —> y,建一个二分 ...

  10. Hotel(poj 3667)

    题意:询问区间最长连续空串 /* 用线段树维护区间最长连续左空串和右空串 */ #include<cstdio> #include<iostream> #define N 50 ...