其实很多时候,远程调试的话,我还是更喜欢用WinDBG的,

首先,可以练习WinDBG的使用手段,

其次,可以增加WinDBG的熟练度,

最重要的,WinDBG在内核调试部分很常用,我也很喜欢它,所以我也经常用,

但是用多了会发现有个问题,就是,WinDBG建立普通的调试环境太慢了,

(不考虑dbgsrv和.server,因为在现有环境下,可以有更好的方法,这两种纯粹属于陌生环境下的无奈),

所以,想办法解决问题。

其实VS自带就有远程调试相关的功能,

而且设置步骤非常简单,

1:确认自己的开发机上,完整地安装了VS。(这是废话,VS不完整,怎么开发。)

2:使用Everything搜索一个叫做“msvsmon”的名字,这时会搜索出很多

3:如果安装了不同版本的IDE,会搜索出很多不同版本的msvsmon,寻找一个自己要使用的对应版本的msvsmon,我需要的就是VS12.0版本的,

找到目录,把目录里面两个文件夹都拷到目标机器中。

4:对应自己要调的程序位数以及目标操作系统位数,打开指定目录下的 msvsmon.exe

5:其实,什么都不用设置,这时服务端就可以用了。

6:VS的设置。

红色方框内部,选择远程调试,

远程命令写要调试的程序路径及名字,

远程命令参数就是命令行参数,

工作目录可以填写一个远程目录,

远程服务器名称,直接填写远程电脑的IP就好,

然后是比较重要的连接,这里使用默认的“带Windows身份验证的远程访问”就好,因为服务器端那边我们没有设置,服务器端也是默认的,而默认的也是这个选项。

其他部分可以不用修改。

7:大功告成。

可以F5了。

这里需要注意几点:

1:目标机器一定要有自己机器的软件环境,比如乱七八糟的RTL库,没有的话,可以现装。

2:一般来说只要是符号正确,基本上都没有问题,如果符号不匹配,看看是不是编译问题。

3:如果连不上,先看自己是不是IP写错了,因为服务端运行的时候,如果判断防火墙存在,那么它会请求添加防火墙,一般来说,防火墙出问题的可能性比较小,大多都是IP写错了。

VS系列远程调试的更多相关文章

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

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

  2. Visual Studio 调试系列12 远程调试部署在远程计算机IIS上的ASP.NET应用程序

    系列目录     [已更新最新开发文章,点击查看详细] 要调试已部署到IIS的ASP.NET应用程序,请在部署应用程序的计算机上安装并运行远程工具,然后从Visual Studio附加到正在运行的应用 ...

  3. Visual Studio 调试系列11 远程调试

    系列目录     [已更新最新开发文章,点击查看详细] 你可以调试已部署在另一台计算机的 Visual Studio 应用程序. 要进行此操作,可使用 Visual Studio 远程调试器. 01 ...

  4. 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure

    [题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...

  5. android webview远程调试

    H5的调试的方式一般用chrome的emulator就好,可是遇到APP就拙计了.这时候还得用远程调试,远程调试很给力,不过目前网上还没有好的文章讲解,要好好的把其配置下来还是非常有难度的,今天折腾了 ...

  6. IDEA第八章----远程调试

    大家有没有遇到相同分支的代码在本地就是没有问题的,但是到测试环境死活不能实现功能,且还不报错.通常我们的解决办法就是打日志,然后一点一点跟踪日志. 这时我们在想如果也可以按照本地一样能断点测试的程序就 ...

  7. tomcat如何正确的开启远程调试功能

    在日常开发中,有时需要对远程服务器上的应用进行远程调试,对于tomcat,要进行远程调试其实很简单,只需要在启动tomcat时开启jpda服务即可. 什么是JPDA呢? JPDA(JavaPlatfo ...

  8. 【Linux开发】CCS远程调试ARM,AM4378

    注意一点:CCS也是安装在Linux主机上的,不是安装在Windows上的,我在Windows上做出了很多尝试,但最终也不没明白究竟要用怎样的格式去执行在ARM-Linux应用程序,out文件ELF可 ...

  9. tomcat如何正确的开启远程调试功能(转)

    转自:http://blog.csdn.net/mhmyqn/article/details/49209541 版权声明:本文为博主原创文章,未经博主允许不得转载. 在日常开发中,有时需要对远程服务器 ...

随机推荐

  1. Spring Boot集成Mybatis双数据源

    这里用到了Spring Boot + Mybatis + DynamicDataSource配置动态双数据源,可以动态切换数据源实现数据库的读写分离. 添加依赖 加入Mybatis启动器,这里添加了D ...

  2. 线性方程组迭代算法——Jacobi迭代算法的python实现

    原理: 请看本人博客:线性方程组的迭代求解算法——原理 代码: import numpy as np max=100#迭代次数上限 Delta=0.01 m=2#阶数:矩阵为2阶 n=3#维数:3X3 ...

  3. springboot多数据库及分布式事务配置

    1.导入相应的jar包依赖 <!-- 集成mybatis --> <dependency> <groupId>org.mybatis.spring.boot< ...

  4. CTF中的AWD套路

    今年参加了三起CTF比赛,属于初学者,基本除了web其他的不会,但分赛场AWD相对就没什么难度,基本都是技巧性.其中一场进入复赛了,本月底再次比赛(ctf题做的这么渣还能进也是绝了~),参照前人经验补 ...

  5. 《node.js开发指南》partial is not defined的解决方案

    由于ejs的升级,<node.js开发指南>中使用的 partial 函数已经摒弃,使用foreach,include代替 原来的代码是: <%- partial('listitem ...

  6. redis Set相关命令

  7. grep中正则表达式使用尖括号表示一个单词

    比如 grep '\<bin\>' /etc/passwd --color

  8. STL_map

    map<string,int> m; int main() { m[; cout<<m["]<<endl; ; }

  9. java中继承条件下构造方法的执行过程

    继承条件下构造方法的调用规则如下: 情况1:如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法.在这种 ...

  10. vue中watch简单使用

    watch是一个对象,具有键值对:键指被监听的数据,值指处理方式. 值类型包括以下三个: 第一个handler:其值是一个回调函数.即监听到变化时应该执行的函数. 第二个是deep:其值是true或f ...