其实很多时候,远程调试的话,我还是更喜欢用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写错了。

最新文章

  1. datagridview控件去除页码
  2. DB2导出脚本,重新建立数据库
  3. css/js在线压缩工具
  4. [转载]BW增量更新的理解(时间戳)
  5. (4)Redis 资料
  6. ZOJ 3791 An Easy Game
  7. Code Review中的几个提示
  8. 了解JVM加载实例化类的原理
  9. Python输入函数 raw_input( ) 与 input()
  10. 201521123084 《Java程序设计》第12周学习总结
  11. ExecutorCompletionService分析及使用
  12. Sublime Text3—设置快捷键打开浏览器
  13. JavaScript 之默认行为 DOM2级,事件委托机制
  14. git查看某个文件的提交记录
  15. 【iCore4 双核心板_uC/OS-II】例程十一:内存管理
  16. WEB开发库收集
  17. w3school 基础学习
  18. 【Postgresql】set up
  19. 2734: [HNOI2012]集合选数
  20. dd命令测试硬盘IO

热门文章

  1. docker容器之间的通信
  2. python基础之基础数据类型1
  3. bootstrap学习(四)表格
  4. JAVA计算整数的位数
  5. IIS ASP.NET MVC 上传文件到NAS目录
  6. Cannot proxy target class because CGLIB2 is not available .Add CGLIB to the class path or specify proxy interfaces…..
  7. 2018-2-13-win10-uwp-资源字典
  8. linux下nano命令大全
  9. 6380. 【NOIP2019模拟2019.10.06】小w与最长路(path)
  10. Robot Framework:日志输出中文Unicode编码