开发机器上利用vs2013调试远程IIS上的c#程序
当远程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的程序,所以可以精确定位到错误的源头,所以对开发排错肯定有所帮助。
转载于:https://www.cnblogs.com/Griffin/p/6380644.html
开发机器上利用vs2013调试远程IIS上的c#程序相关推荐
- core部署iis的 调试net_远程调试远程 IIS 计算机上的 ASP.NET Core - Visual Studio | Microsoft Docs...
在 Visual Studio 中远程调试远程 IIS 计算机上的 ASP.NET CoreRemote Debug ASP.NET Core on a Remote IIS Computer in ...
- 调试远程服务器上的代码时报错:调试设置中的Python路径无效
错误 当在本地调试远程服务器上的代码时,报错: 调试设置中的Python路径无效 踩坑 根据提示去launch.json文件里 以为是"python": "${comma ...
- java拷贝远程服务器上文件,java拷贝远程服务器上文件
java拷贝远程服务器上文件 内容精选 换一换 在Windows模式下,调试功能暂不可用.为支持多交叉架构的调试场景,需要在安装MindStudio的服务器(UI Host)上安装gdb-multia ...
- java 获取服务器上文件,java获取远程服务器上的文件
java获取远程服务器上的文件 内容精选 换一换 已成功登录Java性能分析.待安装Guardian的服务器已开启sshd.待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei J ...
- 读取远程服务器上文件内容,读取远程服务器上的文件
读取远程服务器上的文件 内容精选 换一换 已成功登录Java性能分析.待安装Guardian的服务器已开启sshd.待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei JDK 8 ...
- 卡主 登录不上_香港服务器远程不上几大原因
香港服务器远程不上几大原因 在使用香港服务器开展业务时,服务器有时会大大小小的出现一些故障,例如服务器远程连接不上,服务器遭到网络攻击等情况,远程不上又是哪些问题导致的呢,第一步主要检查服务器网络是否 ...
- 利用c#实现远程注入非托管WIN32程序,并利用嵌入汇编调用非托管WIN32程序中的内部过程...
c#通过调用windows API函数,可以很轻松的完成非托管WIN32程序的注入.内存读写等操作,以下为c#实现远程注入非托管WIN32程序,并利用嵌入汇编调用非托管WIN32程序中的内部过程的源码 ...
- 基于服务器利用VS调试远程代码
一.需求 本次想要运行的项目是一个表格识别的任务叫TGRNet,具体的https://github.com/xuewenyuan/TGRNet代码放在服务器上,最初使用docker配置环境,仅仅希望能 ...
- 在IIS上部署ASP.NET Core Web API
目录 Visual Studio 2019和Dot Net Core 3.0 Windows Server上的Dot Net Core运行时 在服务器上启用IIS IIS应用程序池 IIS网站 创建A ...
最新文章
- 3dsmax biped 骨骼姿势 对称操作
- windows备份与还原和两个主机的相互通信
- 交换机、路由器启动过程详述
- Maven私服搭建(Nexus Repository Manager 3)
- Citrix产品及技术解析
- secure使用vi编辑远程机器文件出现4;m
- TypeScript Parameter Destructuring 语法 - 参数解构
- ssl提高组周三备考赛【2018.10.31】
- python 温度转换程序_Python程序将米转换为码
- qt翻译--QDragMoveEvent拖放类
- C++编译器与链接器工作原理
- 3个原因告诉你,为什么选择HTML5大前端?
- python数据处理可以做什么菜_厌倦了EXCEL想玩点新花样?教你利用Python做数据筛选(下)...
- Android sendEmptyMessage(0)里面的“0”是啥意思?
- FPGA 3-8译码器
- 关于最新版的JCreator只能编译不能运行的问题
- 显示器最大分辨率测试软件,液晶显示器分辨率快速设置工具
- fgui快速接入到一个laya实例项目中
- DCDC电源芯片的引脚功能及应用-BUCK芯片和BOOST芯片
- linux移动文件夹覆盖,linux 批量文件移动及复制覆盖
热门文章
- ANDROID L日志系统——JAVAAPI与LIBLOG
- Binder源码分析之驱动层(原)
- Android Binder 分析——原理
- 计算机作文点评,未来的电脑作文评语
- 打开有视频的文件夹~~当遇到某些特定的视屏格式就会出现Activemovie Window:Explorer.EXE-应用程序错误
- 2021.02.01 Visual QA论文阅读
- [USACO1.5]数字金字塔 Number Triangles
- rhel6上使用udev配置oracle asm,Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结文档
- gis 大屏_gis大屏可视化应用技术方案_gis大屏可视化应用技术_gis大屏可视化应用 - 帆软...
- docker镜像内容如何查看_如何快速打通 Docker 镜像发布流程?