VS系列远程调试
其实很多时候,远程调试的话,我还是更喜欢用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系列远程调试的更多相关文章
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
- Visual Studio 调试系列12 远程调试部署在远程计算机IIS上的ASP.NET应用程序
系列目录 [已更新最新开发文章,点击查看详细] 要调试已部署到IIS的ASP.NET应用程序,请在部署应用程序的计算机上安装并运行远程工具,然后从Visual Studio附加到正在运行的应用 ...
- Visual Studio 调试系列11 远程调试
系列目录 [已更新最新开发文章,点击查看详细] 你可以调试已部署在另一台计算机的 Visual Studio 应用程序. 要进行此操作,可使用 Visual Studio 远程调试器. 01 ...
- 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure
[题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...
- android webview远程调试
H5的调试的方式一般用chrome的emulator就好,可是遇到APP就拙计了.这时候还得用远程调试,远程调试很给力,不过目前网上还没有好的文章讲解,要好好的把其配置下来还是非常有难度的,今天折腾了 ...
- IDEA第八章----远程调试
大家有没有遇到相同分支的代码在本地就是没有问题的,但是到测试环境死活不能实现功能,且还不报错.通常我们的解决办法就是打日志,然后一点一点跟踪日志. 这时我们在想如果也可以按照本地一样能断点测试的程序就 ...
- tomcat如何正确的开启远程调试功能
在日常开发中,有时需要对远程服务器上的应用进行远程调试,对于tomcat,要进行远程调试其实很简单,只需要在启动tomcat时开启jpda服务即可. 什么是JPDA呢? JPDA(JavaPlatfo ...
- 【Linux开发】CCS远程调试ARM,AM4378
注意一点:CCS也是安装在Linux主机上的,不是安装在Windows上的,我在Windows上做出了很多尝试,但最终也不没明白究竟要用怎样的格式去执行在ARM-Linux应用程序,out文件ELF可 ...
- tomcat如何正确的开启远程调试功能(转)
转自:http://blog.csdn.net/mhmyqn/article/details/49209541 版权声明:本文为博主原创文章,未经博主允许不得转载. 在日常开发中,有时需要对远程服务器 ...
随机推荐
- Spring Boot集成Mybatis双数据源
这里用到了Spring Boot + Mybatis + DynamicDataSource配置动态双数据源,可以动态切换数据源实现数据库的读写分离. 添加依赖 加入Mybatis启动器,这里添加了D ...
- 线性方程组迭代算法——Jacobi迭代算法的python实现
原理: 请看本人博客:线性方程组的迭代求解算法——原理 代码: import numpy as np max=100#迭代次数上限 Delta=0.01 m=2#阶数:矩阵为2阶 n=3#维数:3X3 ...
- springboot多数据库及分布式事务配置
1.导入相应的jar包依赖 <!-- 集成mybatis --> <dependency> <groupId>org.mybatis.spring.boot< ...
- CTF中的AWD套路
今年参加了三起CTF比赛,属于初学者,基本除了web其他的不会,但分赛场AWD相对就没什么难度,基本都是技巧性.其中一场进入复赛了,本月底再次比赛(ctf题做的这么渣还能进也是绝了~),参照前人经验补 ...
- 《node.js开发指南》partial is not defined的解决方案
由于ejs的升级,<node.js开发指南>中使用的 partial 函数已经摒弃,使用foreach,include代替 原来的代码是: <%- partial('listitem ...
- redis Set相关命令
- grep中正则表达式使用尖括号表示一个单词
比如 grep '\<bin\>' /etc/passwd --color
- STL_map
map<string,int> m; int main() { m[; cout<<m["]<<endl; ; }
- java中继承条件下构造方法的执行过程
继承条件下构造方法的调用规则如下: 情况1:如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法.在这种 ...
- vue中watch简单使用
watch是一个对象,具有键值对:键指被监听的数据,值指处理方式. 值类型包括以下三个: 第一个handler:其值是一个回调函数.即监听到变化时应该执行的函数. 第二个是deep:其值是true或f ...