远程调试应用场景

部署环境:ASP.NET(C#)+IIS+Win7 64 bit

很多公司的开发模式都是将开发机器和服务器分开,也就是开发一台机,服务器一台机。而测试人员会在服务器上录入测试数据,此时报错了【由于开发程序时忽略了数据类型或者数据是否合法导致的】,如果是简单的错误那还好办,看下代码直接消灭。要是生命力比较顽强的bug,那么就需要调试了。

此时开发人员会产生几种设想:

1、赶紧把服务器的环境部署到本地,然后把生成的dll扔进去进行调试。这时会出现几种结果,如果顺利的话,通过了调试解决了bug,如果不顺利的话,就会延长bug的解决时间。不顺利的情况可能会有:对程序的配置不熟悉,本地可能在注册表缺少了对那个插件的注册,目录可能存在中文……种种的,种种的问题。

2、在服务器上装上一个Visual Studio 2008/2010/2012[后面简称vs工具],然后把程序文件拷过去,然后将生成的文件dll附加到iis进程而进行调试,哈哈,顺利解决了bug,但是一看钟表半天过去了。而且服务器多了很多文件,仅仅是为了你调试这个程序的文件。如果是管理不是很严谨的公司那还说的过去,要不然少不了要被喷一顿。

好吧,不说口水话了,进入正题。

远程调试方法

第一步:将vs工具里的Remote Debugger文件夹拷贝到目标机器。大致的目录应该是:D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger,或者从开始菜单那里可以找到它的快捷方式,如下图:

                 

第二步:在服务器上打开Remote Debugger文件夹,如果是32位的就运行X86里面的msvsmon.exe,如果是64位的就运行X64里面的msvsmon.exe。关于32位和64位这里要注意一下,以你的IIS应用程序池为主,在应用程序池那里右键,点击高级设置,可出现以下窗体。如果启用32位应用程序设置为true的话,那么就需要运行X86里面的msvsmon.exe。

运行后会出现以下界面

第三步【最关键一步】:将你本地的账号密码设置成跟服务器一样,因为远程调试也是需要用户凭证的。账号和密码都要一致哦!!!

第四步:用vs工具打开你的程序源码,用快捷键ctrl + alt + p 打开附加进程窗体,如下图

传输:默认

限定符:默认是本机的机器名称,设置为你的服务器IP(如:192.168.1.250)

设置好按回车就可以看到250这台机子的进程,然后找到w3wp.exe这个进程,点击附加。【如果没有看到w3wp.exe,可以把下面显示所有用户的进程勾上】

接下来就尽情享受代码的调试把。

关于调试那点技术

比较一下下面两种调试的方法,看谁犯过第一种,反正我犯过。^_^

1、为了调试某个dll而直接在Web程序里直接按F5进行调试,如果是小项目小网站的话,那没问题。如果是一个几十M甚至几百M的网站那么问题就来了。这样子的调试非常的慢,而且每次都需要重新生成整个网站的dll,那速度,是可忍孰不可忍。

2、将你需要调试的dll重新生成一下,把dll和pdb文件拷到已发布好的网站bin目录底下,然后ctrl + alt + p附加到IIS进程w3wp.exe,然后就可以调试你的dll了。这样即快又方便,做个开心的程序员吧。

结束语

好久没写过东西了,距离上一篇Installshield有1年多了,哎。以后坚持有空就写点文章,多总结自己的经验。

转载于:https://www.cnblogs.com/magicchaiy/archive/2013/05/28/VS%e8%bf%9c%e7%a8%8b%e8%b0%83%e8%af%95%e6%8a%80%e5%b7%a7.html

Visual Studio 2012/2010/2008 远程调试相关推荐

  1. php linux 调试工具,内网Visual Studio Code通过XDebug远程调试linux服务器PHP脚本

    开发环境是这样:一台位于内网环境下的Windows机器使用VSCode作为IDE编写 { "version": "0.2.0", "configura ...

  2. 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)

    前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...

  3. Visual Studio 6/2005/2008/2010/2012/2013 各版本编译器 下载

    // // 备注:本篇文章来自 vc驿站: http://www.cctry.com // C.C++.VC++ 各种学习资源,免费教程,期待您的加入! // Microsoft Visual Stu ...

  4. windows 7下同时安装visual studio 2012和2010

    2019独角兽企业重金招聘Python工程师标准>>> 最进想试一试Visual Studio 2012咋样原来安装了2010版的,好使,就是主题背景不太友好.2012中加入了深色背 ...

  5. visual-studio – 使用TFS 2010防止在Visual Studio 2012上签入pdb文件

    我们最近从Visual Studio 2010迁移到Visual Studio 2012.我们仍在使用TFS 2010,我们使用gated check-ins. 由于我们开始使用Visual Stud ...

  6. Visual Studio.net 2010 Windows Service 开发,安装与调试

    本示例完成一个每隔一分钟向C:\log.txt文件写入一条记录为例,讲述一个Windows Service 程序的开发,安装与调试     原程序,加文档示例下载 /Files/zycblog/Sou ...

  7. Visual Studio 2012 Update 4 RC 启动调试失败解决方案

    以下解决办法适用于任何Visual Studio开发环境,及Windows NT 6.1以上系统. 系统:Windows 8.1 Enterprise x64 RTM 开发环境:Visual Stud ...

  8. 如何设定vs2012用linux文件格式,Visual Studio 2012发布网站详细步骤

    1.打开你的Visual Studio 2012网站项目,右键点击项目>菜单中 重新生成一下网站项目:再次点击右键>发布: 2.弹出网站发布设置面板,点击,创建新的发布配置文件: 输入你自 ...

  9. [New Portal]Windows Azure Cloud Service (33) 使用Visual Studio 2012 部署Cloud Service

    <Windows Azure Platform 系列文章目录> 笔者已经将工作用的笔记本电脑升级到Windows 8很长一段时间了,开发工具也从Visual Studio 2010升级到了 ...

最新文章

  1. php video标签使用方法,HTML_HTML5 video标签(播放器)学习笔记(一):使用入门,近有在学习html5中video标签(播 - phpStudy...
  2. 深入理解JVM虚拟机(四):Class类文件结构(一)
  3. python3.5安装pip_pip和pip3 – 都指向python3.5?
  4. DPDK 18 log日志系统使用
  5. c++面向对象高级编程 学习五 组合、委托与继承
  6. 一份所有中国人都应该听的歌单,你听过几首?
  7. FNV哈希算法【转】
  8. python半圆代码_趣味项目:用Python代码做个月饼送给你!
  9. Qt DLL总结【二】-创建及调用QT的 DLL
  10. 用swift开发仪表盘控件(一)
  11. np.unique 的实现
  12. kafka组件makemirror处理跨机房业务的应用
  13. 瑜伽扭身祈祷式动作教程
  14. 网站源码获取工具 Teleport Ultra
  15. 职称计算机培训一天,职称计算机的培训心得
  16. DM860步进电机接线及拨码
  17. maven:pom文件详解
  18. 《麦肯锡卓越工作方法》读后感
  19. 2021年美容师(初级)考试APP及美容师(初级)模拟考试系统
  20. 爬虫学习笔记 - day02

热门文章

  1. C++_代码重用3-私有继承
  2. API接口自动化之2 处理http请求的返回体,对返回体做校验
  3. 双11背后基础设施软硬 结合实践创新
  4. p ython笔记第一天
  5. mysql支持跨表delete删除多表记录
  6. 新手教程:用.htaccess实现二级域名功能
  7. .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现...
  8. Android备份和添加短信
  9. Kali渗透测试——快速查找Metasploit的模块
  10. 【Groovy基础系列】 Groovy运算符