在 Visual Studio 中远程调试 C++ 项目(Windows程序)

一、说明

参考官方文档:https://learn.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging-cpp?view=vs-2022

二、下载远程工具

1. 官网下载

https://visualstudio.microsoft.com/zh-hans/downloads/
打开网页,选择远程电脑系统类型下载

在这里插入图片描述

2. 自己电脑上拷贝

如果你已经安装了Visual Studio,则安装目录里面有远程工具:
例如:安装的Visual Studio 2022 社区版,远程工具在这个目录:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Remote Debugger

三、 运行远程工具

拷贝远程工具到你要运行程序的远程电脑上。

    1. 打开 msvsmon.exe 这个程序
      在这里插入图片描述
      在这里插入图片描述
    1. 点击 工具 -> 选项
      在这里插入图片描述
    1. 选择 无身份验证 勾选 允许任何用户进行调试, 把最长空闲时间设置为 0 (如果不设为0,则超过设置的时间后,没有调试,这个程序会自动退出)
      在这里插入图片描述
      完成后,注意这里这个名字
      在这里插入图片描述

四、本机Visual Studio配置

  1. 右键工程属性,打开Debuging设置:
    在这里插入图片描述
    • Debugger to launch 选择 Remote Windows Debugger
    • Remote Command 这里填入: 远程的电脑目录(在远程电脑上新建一个空目录) + 本程序生成的exe文件名
    • Working Directory 和 Deployment Directory 这里填入: 远程的电脑目录
    • Remote Server Name 填: 远程电脑的IP:4026
    • Connection 选择: Remote With no authentication

  1. 编译Hello这个程序,然后 右键 -> Deploy , 部署成功后,在远程电脑上就能看到下图这些文件
    在这里插入图片描述在这里插入图片描述



  2. 调试程序, 打断点,按F5调试
    在这里插入图片描述



五、自动部署

上面的步骤可以调试了,但是每次都要手动点击 Deploy 有点麻烦,要是能自动编译自动部署就好了。
下面步骤来了:

打开解决方案属性(Solution Hello Property),注意不是 Hello这个工程的属性,Configuration 中的 Deploy 勾选上

在这里插入图片描述
在这里插入图片描述


设置好后, 修改代码,直接点击Remote Windows Debugger 或者直接按 F5, Visual Studio会自动编译部署到远程电脑上

在这里插入图片描述

Visual Studio C++ 提供了一种称为"远程桌面连接"(Remote Desktop Protocol, RDP)的功能,这通常不是针对C++编程本身的直接功能,而是用来管理和调试远程Windows计算机的过程。当你使用Visual Studio开发C++应用时,可能更关注于本地或部署到服务器上的调试,而不是远程控制。 如果你想从本地Visual Studio环境远程调试C++项目Visual Studio支持使用MSTest、Chrome DevTools或者其他第三方工具(如WinDbg)进行远程调试。以下是一个基本步骤: 1. **设置远程调试**: 在Visual Studio,你需要配置项目调试选项,选择“本地 IIS Web Debugging”或“Local Machine Debugging”,然后指定远程机器的地址。 2. **启动远程调试服务器**: 如果你正在调试的是Web服务,确保你在远程服务器上运行了相应的调试服务器。如果是桌面应用程序,可能需要安装Visual Studio Remote Tools并配置为允许远程连接。 3. **启动调试会话**: 在Visual Studio,选择“Debug” -> “Start Debugging”或者快捷键F5,开始尝试连接到远程机器。 4. **连接验证**: 需要确保远程机器的安全设置允许你的Visual Studio访问,可能需要输入用户名和密码。 如果你具体想了解如何编写C++程序以便被其他程序远程控制,那通常是涉及网络编程的概念,比如使用TCP/IP套接字通信或者RPC(Remote Procedure Call)。这些通常是在C++环境创建服务器端进程,监听客户端请求并作出响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值