IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Visual Studio配置远程开发调试Linux项目 -> 正文阅读

[系统运维]Visual Studio配置远程开发调试Linux项目

一. 哪些项目模板可以选择

使用visual studio进行远程开发Linux项目,有两种比较易用的方式,一是只适用于Linux系统的项目,二是跨平台的c++项目

二. 只适用于Linux系统的c++项目

此种方式比较简单,我们使用此种方式无非就是看重了visual studio的强大的调试功能。
步骤如下:

  1. 创建新项目
    模板一定要选择平台为Linux,此处我们选择空项目。
    创建新项目
  2. 配置远程服务器
    工具->选项->跨平台->连接管理器->添加
    配置远程服务器
  3. 配置属性
    配置远程生成目录
    配置属性
  4. 断点调试
    接下来就可以愉快的在vs加入断点进行调试。
    可以看到远程Linux服务器上也会运行相应的进程及gdb进程。
    vs断点调试
    远程Linux中的相应进程
    如果是大型多线程项目,未曾使用,不知是否有坑!

三. 跨平台的c++项目(cmake)

使用cmake进行项目构建,而不是依赖于微软的sln进行构建。可以在本地windows和远程Linux都能进行调试,做跨平台的开发,非常的方便。前提是要会使用cmake~~。这里有一篇不错的CMake教程
《CMake教程》
步骤如下:

  1. 创建新项目
    选择CMake项目,此种项目不会再生成.sln或者.vcxproj
  2. 管理配置
    配置->管理配置,点击后会打开CMakePresets.json文件。
    其中的Linux-debug项,是与我们的远程调试相关的属性配置。
    示例如下
{
        "name": "linux-debug", #会在调试框中显现的名称
        "displayName": "Linux Debug",
        "generator": "Unix Makefiles",
        "binaryDir": "${sourceDir}/out/build/${presetName}",
        "installDir": "${sourceDir}/out/install/${presetName}",
        "cmakeExecutable": "/usr/bin/cmake", #填写远程的CMake路径
        "cacheVariables": {
          "CMAKE_BUILD_TYPE": "Debug"
        },
        "condition": {
          "type": "equals",
          "lhs": "${hostSystemName}",
          "rhs": "Linux"
        },
        "vendor": {
          "microsoft.com/VisualStudioRemoteSettings/CMake/1.0": {
            //"sourceDir": "$env{HOME}/.vs/$ms{projectDirName}"
            "sourceDir": "/var/tmp" #本机代码复制到远程的目录 如果不设置默认用上一行的路径,也就似乎 ${HOME}下的.vs目录,此例中是改为了/var/tmp目录
          }
        }
      
  1. 远程运行
    编写代码判断平台类型,引入不同的头文件,运行不同的函数,以达到进程休眠的效果。
    windows平台可以使用windosw.h中的Sleep函数;
    linux平台可以使用unistd.h中的sleep函数。
    也可以使用c++11 中的休眠函数,以达到跨平台的效果,省去平台的判断。
    《C++跨平台通过宏定义判断当前操作系统windows,linux和编译器》
    宏定义确定系统
  2. 本地执行
    本地执行自是无需多言。
    本地项目也是通过cmake进行构建。
    cmake的掌握是关键。
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 13:09:20  更:2022-05-09 13:09:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:35:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码