当远程IIS上的C#程序出现问题,怎么排错,一般我们通过看日志排查错误的方法,这种方法在程序异常日志都打印出来的情况下是可以解决的,但如果程序日志不详细,或者从日志看不出有用的内容的时候怎么排错?

本文介绍通过vs2013的msvsmon.exe来远程调试IIS上的C#程序,感谢刘慧锋提供的帮助。

环境:

IIS:10.10.2.142,机器名:WEBAPIL2

开发机IP:10.10.0.60 ,机器名:LIURENYUAN-DEV

目的:通过10.10.0.60去调试10.10.2.142上的IIS的C#程序

步骤:

1.在vs2013的安装目录查找msvsmon.exe,注意有两个msvsmon.exe,一个是x86的,一个是x64的,本文使用x64的,

路径:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

如下图:

2. 共享x64目录,以便远程的IIS机器上可以执行该目录下的msvsmon.exe,如下图:

3.然后我们在10.10.2.142上去查看,能否找到这个共享目录,因为我们要在10.10.2.142上访问这个共享目录下的msvsmon.exe,从10.10.2.142访问需要输入10.10.0.60上的用户名称密码才能访问,如下图:

4.在10.10.2.142上打开x64共享目录,如下图:

5.双击上图中共享目录x64下的msvsmon.exe,如下图:

6.点击上图中的tools-options,弹出如下图,勾选如下图中的内容,然后点ok.

点击ok后如下图:

7.关闭10.10.2.142上的防火墙,如下图:

8.查看10.10.2.142上的版本,开发机vs2013上的代码版本须保持与10.10.2.142上的一致,如下图:

9.更新开发机器10.10.0.60上的代码与10.10.2.142上的版本一致,如下图所示。

10.代码更新一致后,开发机器10.10.0.60上的vs2013重新生成解决方案,如下图:

11.开发机10.0.0.60上的vs2013上点菜单上的调试→附加到进程 ,然后在弹出的对话框中的”传输“后面下拉框中选择远程(无身份验证),再点击查找,可以找到我们的远程IIS,远程调试端口为4018,如下图:

12.点击上图中的选择,会列出10.10.2.142上的所有进程,我们选择10.10.2.142上的w3wp.exe进程,然后选择附加 ,如下图:

13.然后可以看到vs2013已经处于高度状态,如下图:

14.接下来我们用vs2013在登录接口getPublicKey上设置一个断点,然后用开发机的浏览器登录10.10.2.142,然后看vs2013里的断点能否停住,如下图:

上图中的getPublicKey处于pending状态,再看后台的断点已经停住了,如下图:

至此,通过vs2013的msvsmon.exe调试远程IIS上的C#程序就已经成功了。

此方法可以利用开发机上的vs2013一步一步的调试远程机器上的IIS的程序,所以可以精确定位到错误的源头,所以对开发排错肯定有所帮助。

开发机器上利用vs2013调试远程IIS上的c#程序的更多相关文章

  1. 解放双手:如何在本地调试远程服务器上的Node代码

    写在前面 谈到node断点调试,目前主要有三种方式,通过node内置调试工具.通过IDE(如vscode).通过node-inspector,三者本质上差不多.本文着重点在于介绍 如何在本地通过nod ...

  2. 在ZYNQ-7000平台上利用PS点亮PL上的LED灯

    在ZYNQ-7000平台上利用PS点亮PL上的LED灯 1.实验方案 图1    实验方案系统框图 2.具体步骤 2.1.vivado工程建立 ①打开vivado集成开发环境,点击“Create Pr ...

  3. 使用pycharm调试远程服务器上的程序

    一.PyCharm实现远程调试代码 1. 和远程服务器建立连接,tools àDeploymentàConfiguration 2. 点击“+”号,按照远程服务器信息配置信息 点击“Advanced ...

  4. Linux上利用NFS实现远程挂载

    两台服务器 192.168.1.1 [WEB服务器] 192.168.1.2 [录音服务器] 说明 在192.168.1.2服务器上每天有许多录音文件生成,192.168.1.1作为WEB服务器,里面 ...

  5. 利用本地浏览器远程服务器上的jupyter notebook

    windows中访问远程服务器的方式有很多种:使用windows系统自带的网络功能,直接输入服务器地址访问:使用putty软件远程访问:使用xftp软件登陆:还可以使用x2go客户端图形界面远程访问. ...

  6. NodeJS学习笔记 进阶 (6)本地调试远程服务器上的Node代码(ok)

    https://github.com/chyingp/nodejs-learning-guide

  7. Visual Studio(Year)编辑器调试在IIS发布的Web程序出现错误的解决

    如下图所示:

  8. VS停止调试,IIS Express也跟着关闭了

    问题描述: 我们会时不时地用VS进行调试,当点击停止调试的时候,网站再刷新一下,便会出现网页走丢的现象,然后需要重新打开网站,很是麻烦,令人抓狂.如何解决呢? 首先说下,为啥会产生这种问题? 大致描述 ...

  9. C# 上传文件至远程服务器

    C# 上传文件至远程服务器(适用于桌面程序及web程序) 2009-12-30 19:21:28|  分类: C#|举报|字号 订阅     最近几天在玩桌面程序,在这里跟大家共享下如何将本地文件上传 ...

随机推荐

  1. Hadoop Federation联邦

    背景概述 单 NameNode 的架构使得 HDFS 在集群扩展性和性能上都有潜在的问题,当集群大到一定程度后,NameNode 进程使用的内存可能会达到上百 G,NameNode 成为了性能的瓶颈. ...

  2. Data Flow ->> Source ->> Error Output ->> Error & Truncation: Ignore Failure, Redirect Now, Fail Component

    Ignore Failure: 当该字段遇到错误时,字段值被设为NULL Redirect Now: 把该行输出到SSIS的Source组件的红色输出线,这时红色输出线应该连接一个可以接受结果集的组件 ...

  3. Infragist ics Ult imate 2015 Vol.1 - Product Keys

    Ultimate ProductKeys 2015 Vol.1: 9122-1900164-4504144 9122-9300855-3994197 9122-7600717-4579130 9122 ...

  4. ps cs6破解补丁使用方法

    第一步.首先下载ps cs6破解补丁 ,再下载官方ps cs6中文版,安装之后运行一次.第二步.先备份你想要激活的软件的“amtlib”文件,比如PS CS6 64bit其目录在“C:\Program ...

  5. Spark资源调度分配内幕天机彻底解密:Driver在Cluster模式下的启动、两种不同的资源调度方式源码彻底解析、资源调度内幕总结

    本课主题 Master 资源调度的源码鉴赏 资源调度管理 任务调度与资源是通过 DAGScheduler.TaskScheduler.SchedulerBackend 等进行的作业调度 资源调度是指应 ...

  6. Java文件操作工具类

    import com.foriseland.fjf.lang.DateUtil;import org.apache.commons.io.FileUtils;import org.slf4j.Logg ...

  7. 工作好搭档(四):铷安居 H-C81 电脑桌

    引言:工欲善其事,必先利其器.码农十年,与电脑打了二十多年的交道,也配置了一些过得去的装备.资金有限,更希望所有的投入都在刀刃上.写工作好搭档系列,是晒考虑的原因.思路.经验和教训.欢迎并希望大伙能一 ...

  8. VS2010 调试启动特别慢

    调试选项里有 _NT_SYMBOL_PATH 这一项,并且不能取消选择.只好删除这个环境变量,此来源于windbg环境中需要.重启windows后,VS2010调试里已没有此项,F5调试飞快--

  9. ZT ---- 给孩子的信(孩子写给爸爸妈妈的信在24、25、26楼)

    胡同口 > 情感 > 婚后空间 > 给孩子的信(孩子写给爸爸妈妈的信在24.25.26楼) 给孩子的信(孩子写给爸爸妈妈的信在24.25.26楼)分享: 腾讯微博 新浪微博 QQ空间 ...

  10. postgres if ,when及判断表是否存在的sql编写

    判断表是否存在方法1: SELECT THEN END FROM ( select count(*) as cc from pg_class where relname = 'wo' --wo is ...