当前位置: 首页 > article >正文

vs2015如何远程启动程序来进行调试

vs远程调试的方式有两种,远程启动方式和附加进程方式。
  一般来说,咱们使用vs调试代码时,直接附加进程即可,但某些时候附加进程方式无法命中断点。比如我们想调试的C++代码,但是调试的入口程序是C#程序,如C#程序调用了C++封装的dll,如果想调试dll的代码,但附加进程我们只能附加这个C#程序,但附加进程方式却无法命中断点,只能通过启动的方式调试。
  vs远程调试我们需要借助Visual Studio 2015 远程调试器(Visual Studio 2015 Remote Debugger)
我们需要先介绍下Visual Studio 2015 远程调试器

一、关于Visual Studio 2015 Remote Debugger

  作用是用来通过VS远程调试其他机器的程序,我们可以调试部署在不同机器上的应用程序,如MFC、C#等程序。

二、Visual Studio 2015 Remote Debugger 的获取

获取方式有两种:
1、在我们调试的机器上,使用搜索工具everything搜索名字msvsmon.exe。
在这里插入图片描述
2、获取方式是下载Remote Debugger(需同操作系统的版本一致),这个就自己百度了。

三、Visual Studio 2015 Remote Debugger的配置

Remote Debugger支持远程用户身份验证方式有两种:Windows身份验证(默认方式),和无身份验证。
在Remote Debugger文件下找到msvsmon.exe,使用管理员身份运行。点击工具-选项,查看配置。
在这里插入图片描述
使用Windows身份验证,确认Permissions(权限)如下:
在这里插入图片描述
使用无身份验证方式,确保勾选任意用户:
在这里插入图片描述

四、远程调试方式

1、附加进程方式

在VS2015中,打开同远程目标机器一致的应用程序源代码,选择:Debug(调试)>Attach to Progress(附加到进程)界面,
在这里插入图片描述若远程目标机器的Remote Debugger选择Windows身份验证,Transport选择Default,然后Find目标机器,Attach to选择AutoMatic,而后刷新远程目标机器的当前进程列表,原则运行应用程序。如下图所示:
在这里插入图片描述
远程机器Remote Debugger连接成功后,如下图所示:
在这里插入图片描述若远程目标机器的Remote Debugger选择无身份验证,如下图所示:
在这里插入图片描述
然后直接点击查找,同网段可以直接搜索
备注:通过我测试,暂得出结论是:该功能只能超找到同网段的局域网的,如果是其他网段,必须使用ip+端口方式
在这里插入图片描述
然后选择连接调试目标
在这里插入图片描述
远程机器Remote Debugger连接成功后,同样会显示:xxx已连接的标志。
在这里插入图片描述
接下来,开发人员就可以进行远程调试了。

2、远程启动方式

远程调试Remote Debugger参考前面,不再赘述。
这里主要阐述下vs上如何启动远程机器上的程序。
首先、在项目上右键,然后设置为启动项
在这里插入图片描述
其次,在项目上右键—属性—可配置属性—调试—选择要启动的调试器为:远程windows调试器
在这里插入图片描述
然后,设置好远程命令、工作目录、远程服务器名称、连接
远程命令:要在远程系统上启动的程序路径
工作目录:要在远程系统上启动的程序路径目录
远程服务器名称:远程ip+启动端口,也可以直接是启动的名字
在这里插入图片描述
连接:根据远程系统上的远程调试器设置方式选择对应的连接方式。
在这里插入图片描述
最后,设置好后,直接F5启动即可将远程机器上的对应程序启动起来。

五、注意问题

Remote Debugger的版本需要跟调试的vs版本必须一致。


http://www.kler.cn/a/145885.html

相关文章:

  • RV1126+FFMPEG推流项目(8)AENC音频编码模块
  • Linux系统 C/C++编程基础——使用make工具和Makefile实现自动编译
  • 微服务知识——4大主流微服务架构方案
  • Java - WebSocket
  • 麦田物语学习笔记:场景切换淡入淡出和动态UI显示
  • MySQL 很重要的库 - 信息字典
  • Vue轻松入门,附带学习笔记和相关案例
  • Retrofit怎么返回一个JSON字符串?
  • TS常见类型概述
  • 1. 图的广度优先遍历
  • docker 常用容器创建(自用)
  • 操作系统题目分类总结 | 进程管理 内存管理 文件系统 设备管理
  • 2023/11/26总结
  • 5 动态规划解分割等和子串
  • bootstrap 5 登录、注册页面
  • Java小游戏“简易版王者荣耀”
  • YOLOV7主干改进,使用fasternet轻量化改进主干(完整教程)
  • 人工智能|机器学习——循环神经网络的简洁实现
  • Docker 命令详解
  • hivesql 将json格式字符串转为数组
  • 飞翔的鸟小游戏
  • 医保线上购药系统:引领医疗新潮流
  • 【古诗生成AI实战】之四——模型包装器与模型的训练
  • 数字图像处理-Matlab实验
  • Doris单机部署——2.0.1.1版本
  • 单例模式-C++实现