其实很多时候,远程调试的话,我还是更喜欢用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. Android毕业四年升P8,年收入超100w,他是如何做到的?

    很多人从事Android开发工作多年,走过的弯和坎,不计其数,经历的心酸难与外人道也.相信大家感触最深的还是:选择大于努力.选择正确的方向,才能够走的更远,更踏实. 今天我来分享一下自己心得体会,并没 ...

  2. matlab中struct创建方法

    MATLAB中struct创建方法可分为:直接创建法和struct()函数创建法 (1)直接创建: 直接定义字段,像使用一般matlab变量一样,不需要事先声明,支持动态扩充.下面创建一个Studen ...

  3. 【python标准库学习】thread,threading(一)多线程的介绍和使用

    在单个程序中我们经常用多线程来处理不同的工作,尤其是有的工作需要等,那么我们会新建一个线程去等然后执行某些操作,当做完事后线程退出被回收.当一个程序运行时,就会有一个进程被系统所创建,同时也会有一个线 ...

  4. 1006 -- Biorhythms

    Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 138926   Accepted: 44590 Des ...

  5. C#5.0 异步编程 Async和Await--理解异步方法与线程之间的关系

    这次来理解一下异步方法与线程之间的关系 新建一个控制台程序 代码如下 static void Main(string[] args) { Console.WriteLine("\n进入Mai ...

  6. 请求一个url的全过程

    最近在进行前端面试方面的一些准备,遇到了一个经典前端问题,一个url从输入到页面加载中间到底发生了什么,以前也认真想过这个问题,但是当时回答的都不全面,现在来好好总结一下: 总体来说分为以下六个步骤: ...

  7. JavaScript 绑定事件时传递数据

    var data = { name: 'Ruchee', email: 'my@ruchee.com' }; data.handleEvent = function (e) { console.log ...

  8. linux挂载群辉的NFS共享文件夹

    mount -t nfs 192.168.137.136:/volume1/NFSfile /NFSfile -o proto=tcp -o nolock  df -h   #查看挂载点    

  9. 查看crontab执行记录

    如果出现了crontab定时任务不执行的情况,首先需要定位问题,那么就需要通过日志来确定问题所在. crontab的日志位置一般位于/var/log/cron,利用下面的语句即可查看日志. tail ...

  10. 【记坑】Oracle数据库Date类型查询结果多出".0"的解决方法

    oracle设置数据库某张表的字段类型为date,数据库存值为 2019-11-25 18:51:47 格式,但是从数据库查询出来之后格式为 String stopTime = map.get(&qu ...