不知道大家有没有遇到过这种情况,刚开发完的程序,明明在本机能够好好的运行,可是部署到服务器过分发给用户时,总是出现莫名其妙的错误。

一时半会又看不出问题来,怎么办呢?难道只能在服务器或是客户电脑上装一个vs、跟一下代码吗?

其实不用的,vs有一个远程调试的功能。

这个功能是这样的,程序在其他的电脑上运行,但是我们可以在本地电脑上进行断点跟踪。

下面以vs2012为例,为大家介绍一下无身份验证的远程调试(如果要用有身份验证,又没有域环境,参见最后的总结),同时也说一下vs2012与以前版本在远程调试功能方面的改进。

1、从开始菜单中打开“Remote Debugger”文件夹,打开之后,你会看到两个文件夹,这个是要复制到远程计算机上的,只需要根据具体环境从两个里选出一个复制过去就好了。

2、复制完之后,在远程电脑上打开vs远程调试监视器(“msvsmon.exe”),会出现下图中的窗口,点击选项菜单,选中无身份验证和允许任何用户进行调试。

然后点击确定,这样,远程计算机就设置好了。当然,别忘了在远程计算机上启动你要调试的程序。

3、然后,我们在自己的电脑上,打开项目,从调试菜单打开附加到进程窗口,选择远程,输入远程计算机的ip,然后回车;

再选择要调试的程序,点击附加按钮。好了,点个断点,试试吧。

4、vs2012与之前版本的不同。

看看这张图,是不是很熟悉,不就是在远程计算机上的设置窗口嘛。呵呵,再仔细看看,这个张图和前面那张是不一样的。看到“仅限本机”几个字了吧。

这张图是从vs2010的远程调试监视器中截下来的,这个仅限本机是什么意思呢?经过几次试验,我得出一个结论,这个“本机”的意思,应该是“本地代码”,

和“托管代码”是想对应的。如果用vs2012之前的版本,也按照前三节所说的方法设置,是没有办法“断点”的,因为我们要调试的代码是“托管代码”。

那么,此时应该怎么设置呢?我们只能选择“Windows 身份验证”那个单选框了。附加的时候,也不能再选择远程了,只能选择“默认”。

 总结一下,如果用vs2012之前的版本进行远程调试需要注意的几点:

a、不能选择无身份验证

b、如果不是域环境,远程计算机和本地计算机必须同时使用相同的帐号密码

c、远程计算机上的程序文件要相应包含“.pdb文件

============================================
我的开源项目,都是平时的积累,对提高开发效率很有帮助。
http://lmcommon.codeplex.com/

vs2012远程调试的更多相关文章

  1. VS2012远程调试(winform+web 远程调试)

    VS2012远程调试   一.调试WinFrom 程序 安装rtools_setup_x64 下载 配置Remote 启动Remote debugger 默认端口4016,选择工具-〉选项,选择 无身 ...

  2. vs2012远程调试功能的改进

    不知道大家有没有遇到过这种情况,刚开发完的程序,明明在本机能够好好的运行,可是部署到服务器过分发给用户时,总是出现莫名其妙的错误. 一时半会又看不出问题来,怎么办呢?难道只能在服务器或是客户电脑上装一 ...

  3. 无法在web服务器上启动调试。Microsoft Visual Studio 远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行,VS2012调试错误

    1.重启(无用) 2.关闭防火墙(无用) 3.开启文件与打印机共享(无用) 4.无远程调试权限,改为本地调试.或者是IIS中此项目没有启动.或者没有在IIS中新建此项目.

  4. 微信公众号开发之VS远程调试

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...

  5. Visual Studio 2012远程调试中遇到的问题

    有的时候开发环境没问题的代码在生产环境中会某些开发环境无法重现的问题,或者需要对生产环境代码进行远程调试该怎么办? Vs已经提供给开发者远程调试的工具 下面简单讲讲该怎么用,前期准备:1.本地登录账户 ...

  6. windows8 APP开发的远程调试

    Win8上面的App开发远程调试: 这里先简单介绍一下对于win8的app的远程调试,环境设置:开发机器装有vs2012的win8系统,目标机器为虚拟机,预装win8系统. 1. 在虚拟机上安装vis ...

  7. 使用Visual Studio 2012远程调试Windows Azure网站

    登录Windows Azure门户,点击"所有项目"中的网站名称. 点击"配置". 在"远程调试"选项中选择"打开",在 ...

  8. VS远程调试亲历

    背景: 很多情况下本地开发没有问题,可放到服务器就有问题(更气人的是测试环境时也行可就是生产环境不行!) 1.想到可能是服务器环境不对,Web服务器版本不对 2.有文件读写是不是文件夹权限 3.Web ...

  9. tomcat开发远程调试端口以及利用eclipse进行远程调试

    一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...

随机推荐

  1. poj A Round Peg in a Ground Hole

    http://poj.org/problem?id=1584 #include<cstdio> #include<cstring> #include<cmath> ...

  2. -_-#【JS】HTML5 API

    <JavaScript高级程序设计(第3版)> <!DOCTYPE html> <html> <head> <meta charset=" ...

  3. java集合简介

    java集合主要包括以下几点 Java 集合概述 Collection 接口 Iterator 接口 Set List Map Collections 工具类 Enumeration 1.java集合 ...

  4. ubuntu进入命令登录界面

    按ctrl+alt+F1或者ctrl+alt+F2进入系统终端,可以以命令行界面登录系统.

  5. 关于xcode7编译旧项目崩溃-[UIApplication _runWithMainScene:transitionContext:completion:]

    崩溃原因 crash: Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], / ...

  6. awk--动作(action)

    摘要 在awk--简述中我们讲到awk是由pattern-action组合而成的,关于pattern我们已经awk--模式(pattern)在讲述,接下来就来看下awk的action. 动作是什么 我 ...

  7. JS~字符串长度判断,超出进行自动截取(支持中文)

    今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了,下面是JS代码: <html> <script ...

  8. Android ProgressDialog 加载进度

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  9. Python标准库:内置函数bytearray([source[, encoding[, errors]]])

    返回一个新字节数组.这个数组里的元素是可变的.而且每一个元素的值范围: 0 <= x < 256.能够通过"字节与字节数组操作"章节来查看相关字节数组的内容.以下说明一 ...

  10. adb 获取手机值

     获取手机RAM值    adb shell cat /proc/meminfo   获取手机内存值     adb shell df /data