开发机器上利用vs2013调试远程IIS上的c#程序

当远程IIS上的C#程序出现问题,怎么排错,通常咱们经过看日志排查错误的方法,这种方法在程序异常日志都打印出来的状况下是能够解决的,但若是程序日志不详细,或者从日志看不出有用的内容的时候怎么排错?api

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

环境:app

IIS:10.10.2.142,机器名:WEBAPIL2url

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

目的:经过10.10.0.60去调试10.10.2.142上的IIS的C#程序.net

步骤:调试

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的程序,因此能够精肯定位到错误的源头,因此对开发排错确定有所帮助。

相关文章
相关标签/搜索