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日

相关文章

  • vue-cli使用stimulsoft.reports.js的详细教程

    下面是“vue-cli使用stimulsoft.reports.js的详细教程”的完整攻略,包含两个示例: 1. 环境准备 在开始之前,需要确认电脑已经安装了以下软件: Node.js npm Vue CLI 如果没有安装,可以到官网下载安装对应版本。安装完毕后,打开命令行工具,输入以下命令进行版本确认: node -v npm -v vue –versi…

    C 2023年5月23日
    00
  • C++为什么不能修改set里的值?非要修改怎么办?

    C++为什么不能修改set里的值 set是C++ STL库中的一个容器,它使用平衡二叉搜索树作为实现机制。这种数据结构会在插入或删除元素时维护树的平衡,从而使得查找等操作的时间复杂度保持在O(log n)级别。而且,set自身所提供的插入、删除和查找操作也能保证元素的唯一性,因此适用于需要去重的情况。 set中元素的顺序是按照元素的大小由小到大排列的,在该容…

    C 2023年5月23日
    00
  • C语言实现简易停车场管理系统

    C语言实现简易停车场管理系统攻略 背景介绍 停车场管理系统是指通过计算机技术,对车辆进出停车场的信息进行管理和处理,实现车辆的自动化存取和收费等功能。本文将详细介绍如何使用C语言实现一个简易的停车场管理系统。 实现步骤 1. 确定需求 在开始设计系统之前,首先需要明确系统的需求。这个停车场管理系统需要实现以下功能: 车辆进出记录,包括车辆号码、进出时间等信息…

    C 2023年5月30日
    00
  • 一小时快速入门Python教程

    一小时快速入门Python教程可以分为以下几个步骤实现: 1. 安装Python 首先需要安装Python,可以到Python官网下载所需版本的安装包,然后按照提示完成安装。 2. 安装集成开发环境(IDE) IDE可以帮助我们更方便的编写和运行Python代码。常用的IDE有PyCharm、Sublime Text、Visual Studio Code等。…

    C 2023年5月23日
    00
  • C语言实现的猴子分桃问题算法解决方案

    C语言实现的猴子分桃问题算法解决方案 问题描述 有5只猴子分一堆桃子,第一只猴子把桃子分成五份,多了一个,他把多的一个丢了,拿走了一份桃子。第二只猴子把剩下的桃子又分成五份,又多了一个,他也把多的一个丢了,拿走了一份桃子。第三只、第四只猴子都是这样干的,问最后一只猴子分完后还剩几个桃子? 解题思路 这是一道数学问题,可以通过逆推法推断出最初的桃子数。设第n个…

    C 2023年5月22日
    00
  • Python与C/C++的相互调用案例

    当我们需要用Python完成一些与底层硬件交互或者需要进行大量数据处理时,往往会面临性能差的问题。这是因为Python作为解释型语言,运行效率较低。在这种情况下,我们可以考虑利用C/C++编写高效的底层代码,并将其与Python进行相互调用,从而实现Python的高效运行。 Python调用C/C++代码 Python可以通过扩展模块的方式调用C/C++代码…

    C 2023年5月23日
    00
  • c语言程序调试方法整理

    c语言程序调试方法整理 在编写C语言程序时,避免不了出现各种各样的错误。调试是找出和修正错误的过程。本文总结了C语言程序的常见调试方法,希望能帮助读者更好地解决程序中的各种问题。 1. 查看编译器的警告信息 编译器在编译的过程中,会输出警告信息。这些警告信息是对程序不标准或者有潜在问题的地方的提示。查看这些警告信息,可以帮助我们找出一些对程序运行有可能产生负…

    C 2023年5月23日
    00
  • 学生成绩管理系统C++实现代码

    下面我来为大家详细讲解“学生成绩管理系统C++实现代码”的完整攻略。 1. 程序设计思路 这个程序的主要功能是对学生成绩的管理,具体来说包括以下功能:- 添加学生信息- 修改学生信息- 删除学生信息- 查找学生信息- 以各种方式展示学生信息列表 接下来,我将会详细介绍这些功能各自的实现。 2. 添加学生信息 要实现添加学生信息的功能,我们需要定义一个结构体来…

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