前言

最近遇到一个问题:组态王在本地调试机上运行正常,但在远程测试机上运行却出现了崩溃。本机上装有Visual Studio 2008,测试机上则没有。于是,在网上找资料,想利用远程调试方法,在本机上调试测试机出现的软件崩溃问题。

基本概念

   1、  目标机:

   远程需要调试的机子,也就是被调试程序exe所在的机子,VS2008可装可不装。

   2、  调试机:

   安装VS2008的机子,就是存放代码设断点调试的机子,须装VS2008。

远程调试配置

目标机配置:

如果目标机安装了VS2008则直接在【开始菜单】->【Microsoft Visual Studio2008】->【VisualStudio Tools】下面找到Visual Studio 2008 Remote Debugger运行即可;

如果目标机没有安装VS2008则需要将调试机上VS2008安装目录下相应的远程debug工具(路径:C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe)拷贝到目标机应用程序所在的目录下,然后运行。

                        

注意:此处要根据你的程序是32位或者64位选择不同的版本,如果是在Win7下面还要以管理员身份运行。如果是第一次运行可能需要设置防火墙,请允许防火墙放行,具体设置方法请自行百度。

运行后,选择【Tools】->【Options】设置Debugger参数如下:

此处设置无身份验证模式(No Authentication),并且允许任何用户进行调试,端口默认为4015,最大空闲时间为900秒。确定后,(如下图所示)目标机的设置就基本完成了~

调试机配置:

打开VS2008,打开要调试工程的属性,在Debugging选项页内,做如下设置:

其中,Remote Command 中的路径为目标机上要调试的exe的绝对路径;Remote Server Name为目标机的IP地址(与调试机在局域网同一网段);Connection和Debugger Type与目标机的设置保持一致。

设置完成后按F5即可远程调试目标机程序,此时目标机调试器输出此时建立的远程调试连接,如下图所示:

需要注意的几个地方:

1、调试机和被调试机都在一个局域网内,且必须在一个网段

2、调试机和被调试机必须登录相同的用户,用户名必须一直关闭防火墙或打开相应的端口,一般是4015。

3、 确保目标机上要调试的exe程序与调试机保持一致,否则导致无法设置断点,PDB不一致。

VS2008远程调试操作方法的更多相关文章

  1. VS2008远程调试

    环境:      同一局域网内,主机和虚拟机远程调试   远程计算机:虚拟机搭的WindowsXP/32(局域网中使用桥接,非局域网使用NAT)     本地计算机:Windows XP.Win71. ...

  2. VS2008远程调试方法

    在网上找了好多资料才把这个调试环境搭好,下面总结一下: 先说明两个概念: 1.      目标机:远程需要调试的机子,也就是被调试程序exe所在的机子,该机子可以安装VS2008或者不安装vs2008 ...

  3. VS2008 远程调试器未成功安装,没法使用?

    Win7 64位系统,安装VS2008后,想使用远程调试功能,结果不能使用! 在VS2008的安装包下有个 Remote Debugger 的文件夹,在里面找到 x64 的 rdbgsetup.exe ...

  4. VC++6.0远程调试(亲试成功)

    0 前言 VS2008及以上远程调试上篇已经讲过,这里再讲下VC++6.0开发环境下的远程调试能力,仅需下面4步即可,更方便的就接着后面的5-6步. 因为目标程序需要在有采集卡等相关硬件支持下的工控机 ...

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

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

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

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

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

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

  8. 使用Eclipse进行远程调试

    转自:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言 ...

  9. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

随机推荐

  1. 怎样设置linux中Tab键的宽度(可永久设置)

    和我的上篇文章一样,能够设置当前用户的Tab键宽度.也能够设置全部用户的Tab键宽度 一.仅设置当前用户的Tab键宽度 输入命令:vim ~/.vimrc 然后:set tabstop=4   //我 ...

  2. Linux下查看Raid磁盘阵列信息的方法

    Linux下查看软.硬raid信息的方法. 软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装 ...

  3. SQL Server 创建约束图解 唯一 主键

    SQLServer中有五种约束,Primary Key约束.Foreign Key约束.Unique约束.Default约束和Check约束,今天使用SQL Server2008来演示下这几种约束的创 ...

  4. JDBC事务和JTA (XA)事务区别

    JDBC 事务 JDBC 事务是用 Connection 对象控制的.JDBC Connection 接口( java.sql.Connection )提供了两种事务模式:自动提交和手工提交. 在jd ...

  5. strcat

    将两个char类型链接. char d[20]="GoldenGlobal"; char *s="View"; strcat(d,s); 结果放在d中 prin ...

  6. Makefile 7——自动生成依赖关系 三颗星

    后面会介绍gcc获得源文件依赖的方法,gcc这个功能就是为make而存在的.我们采用gcc的-MM选项结合sed命令.使用sed进行替换的目的是为了在目标名前加上“objs/”前缀.gcc的-E选项, ...

  7. c++重载后置++和--

    c++语言并不要求递增和递减运算符必须是类的成员,但是因为它们改变的正好是所操作对象的状态,所以建议将其设定为成员函数.(但下面的代码为了练习,还是分别采用成员函数和全局函数的方式实现) 业余实现代码 ...

  8. 纯css3实现的圆形旋转分享按钮

    之前已经为大家介绍了好几款css3按钮,今天要为大家介绍的是一款纯css3实现的圆形旋转分享按钮.旋转的角度可以自己调整.在demo中演示了三个角度旋转.360度,60度,-360度.如图: 在线预览 ...

  9. Java并发(一)Java并发/多线程教程

    在过去一台电脑只有单个CPU,并且在同一时间只能执行单个程序.后来出现的"多任务"意味着电脑在可以同时执行多个程序(AKA任务或者进程).虽然那并不是真正意义上的"同时& ...

  10. 使用wireshark抓包工具 检测不到本地网卡

    wireshark 抓包工具无法检测到自身的网卡 下载wireshark 地址:https://www.wireshark.org/download.html 安装,打开后发现没有windows 本身 ...