vscode C++远程调试运行(学习C++用)

下面是vscode C++远程调试运行的攻略:

准备工作

首先,我们需要在本地安装 Visual Studio Code 和 C++ 编译器,以及在远程服务器上安装 gdbserver 和相应的 C++ 编译器。

  1. 安装 Visual Studio Code:进入Visual Studio Code官网,下载并安装最新版本。

  2. 安装 C++ 编译器:如果你已经安装了 C++ 编译器,请跳过这一步。如果未安装,请根据自己的操作系统下载并安装对应版本的编译器。例如,在Ubuntu上执行以下命令安装 g++

sudo apt-get update
sudo apt-get install g++

  1. 安装远程服务器上的 gdbserver:假设你的远程服务器是基于Linux的,那么你可以通过以下命令安装 gdbserver

sudo apt-get update
sudo apt-get install gdbserver

  1. 确保本地和远程服务器上的 C++ 编译器版本一致。

配置 Visual Studio Code

接下来,我们需要在 Visual Studio Code 中进行一些设置。

  1. 安装插件:打开 Visual Studio Code,在左侧菜单栏选择 Extensions,搜索并安装 C/C++Remote Development 插件。

  2. 打开远程工作区:在 Visual Studio Code 左侧菜单栏选择 Remote Explorer,点击左上角的图标,选择 Remote-SSH: Connect to Host...,输入远程服务器的 SSH 地址和密钥,连接到远程服务器。

  3. 新建一个 C++ 项目:在 Visual Studio Code 左侧菜单栏选择 Explorer,右键单击空白区域,选择 New Folder,输入项目名称。选中该文件夹后,点击左侧菜单栏的 Terminal,打开终端窗口,执行以下命令:

cd [项目路径]
g++ -g -o hello_world hello_world.cpp

其中 hello_world.cpp 是你的源代码文件名。如果代码中包含多个源文件,则需要将它们一起编译成一个可执行文件。

  1. 在 Windows 计算机上安装 Cygwin:如果你使用的是 Windows 平台,你需要在本地计算机上安装 Cygwin。

  2. 下载地址:https://www.cygwin.com/

  3. 安装说明:打开下载的安装程序,安装过程中选择默认的选项即可。

  4. 配置 Visual Studio Code 的 launch.json 文件:在 Visual Studio Code 中,通过菜单栏选择 Run->Add Configuration... 打开 launch.json 文件,将以下配置粘贴进去:

json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Attach",
"type": "cppdbg",
"request": "attach",
"program": "${workspaceFolder}/${workspaceRootFolderName}",
"processId": "${command:pickRemoteProcess}",
"pipeTransport": {
"pipeProgram": "ssh",
"pipeArgs": ["-T", "-x", "-a", "-o", "LogLevel=error", "-p", "${remotePort}", "${remoteUser}@${remoteHost}"],
"debuggerPath": "/usr/bin/gdbserver",
"pipeCwd": "${workspaceFolder}",
"quoteArgs": false,
"pipeEnv": {}
},
"MIMode": "gdb",
"setupCommands": [
{
"description": "enable gdbserver",
"text": "-enable-remote-debugging\n",
"ignoreFailures": true
}
],
"logging": {
"moduleLoad": false,
"engineLogging": false,
"trace": true
}
}
],
"compounds": []
}

其中 "program": "${workspaceFolder}/${workspaceRootFolderName}" 表示调试时要运行的可执行文件路径;"processId": "${command:pickRemoteProcess}" 表示从远程服务器中选择要调试的进程。

开始调试

  1. 使用 VS Code连接到远程计算机,打开本地计算机的一个终端,在终端中输入以下命令,开启gdbserver程序:

gdbserver :2333 [可执行文件路径]

其中,2333表示开启的端口号,你可以自定义;[可执行文件路径]表示你在第3步中编译出的可执行文件路径。

  1. 在 Visual Studio Code 左侧选择 Run,点击菜单栏中的 Run->Attach to Remote Process,选择在远程服务器上刚才启动的 gdbserver 进程,开始调试程序。

  2. 在调试过程中,你可以设置断点、单步调试、查看变量值等。

这是一个简单的示例,仅供参考。根据具体情况,可能需要进行一些调整,比如远程服务器的配置和网络环境等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vscode C++远程调试运行(学习C++用) - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C语言中分支和循环的6种实现形式总结

    C语言中分支和循环的6种实现形式总结如下。 1. if语句 if语句是C语言中最基本的分支语句,用于根据条件的真假来选择性地执行不同的语句。 if (condition) { // if语句执行的代码块 } 示例代码: #include <stdio.h> int main() { int num; printf("请输入一个整数:&q…

    C 2023年5月23日
    00
  • 详解C语言随机数设置的三种方式(保姆级教程)

    首先我们来详细讲解下“详解C语言随机数设置的三种方式(保姆级教程)”这篇文章。 详解C语言随机数设置的三种方式(保姆级教程) 一、问题背景 在开发C语言程序时,我们经常需要使用到随机数。掌握如何设置C语言随机数生成器,可以帮助我们更好地编写程序。本文就C语言随机数设置的三种方式进行详细解析,并且提供示例代码和执行结果。 二、三种方式 1. 随机数发生器初始化…

    C 2023年5月22日
    00
  • 单链表的实现【02】:Student-Management-System

    一、问题引入 单链表的实现【01】:Student-Management-System 只体现了项目功能实现,未对代码部分做出说明。故新增随笔进行补充说明代码部分。 重构代码,迭代版本:Student Mangement System(Version 2.0) 二、解决过程 基于单链表实现就离不开链表的几个重要概念:头结点、首元结点、头指针 2-1 链表概念…

    C语言 2023年4月18日
    00
  • C++实现String类实例代码

    要实现一个C++的String类,需要考虑以下几个方面的内容: 设计类的成员变量和方法:String类应该包含哪些属性和方法。常见的成员变量包括字符串指针、字符串长度等,常见的方法包括构造函数、拷贝构造函数、析构函数、重载运算符等。 实现类的方法:根据设计的类成员变量和方法,实现对应的方法。 测试类的方法:编写测试用例,对实现的类进行测试。 下面我们通过示例…

    C 2023年5月23日
    00
  • C语言实现注册登录系统

    C语言实现注册登录系统攻略 系统功能需求 实现一个注册登录系统,包括以下功能: 用户注册 用户登录 用户修改密码 实现步骤 第一步:设计数据结构 首先需要设计一个数据结构,用于存储用户信息。为了简化实现,我们只考虑用户的用户名和密码。 typedef struct { char username[20]; char password[20]; } User;…

    C 2023年5月23日
    00
  • C语言实现的统计php代码行数功能源码(支持文件夹、多目录)

    以下是C语言实现的统计php代码行数功能源码的完整攻略: 1. 简介 本文介绍如何使用C语言统计PHP代码行数的方法,这个方法是支持多文件夹和多目录的。 主要思路是通过递归遍历文件夹来实现多文件的读取和处理,然后对代码行进行统计。 2. 核心代码实现 2.1. 处理单个文件 我们首先来看如何处理单个文件的代码行数统计。这个过程分为三个步骤: 打开文件,将其读…

    C 2023年5月24日
    00
  • 解决@Transactional注解事务不回滚不起作用的问题

    解决@Transactional注解事务不回滚不起作用的问题的详细攻略如下: 问题描述 在进行数据库操作时,我们通常会使用@Transactional注解来保证事务的原子性,但在使用过程中可能会出现事务不回滚不起作用的问题,导致数据一旦出现异常就无法恢复。这种情况通常是因为注解失效或者配置不正确导致的。 解决方案 1. 配置文件中开启事务管理器 我们可以在配…

    C 2023年5月23日
    00
  • win10系统下 VS2019点云库PCL1.12.0的安装与配置教程

    下面是在Win10系统下安装VS2019和PCL1.12.0库的完整攻略: 准备工作 安装Visual Studio 2019 安装CMake 安装PCL1.12.0 访问PCL官网(https://pointclouds.org/downloads/)下载点云库PCL的最新版1.12.0。 解压下载的文件到任意目录(以C:/Program Files (x…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部