VS Code 下调试c/c++程序

news/2024/7/16 8:18:52 标签: vscode, c++, ide, ubuntu

VS Code 下调试c/c++程序

参考B站视频:link
在 linux 下开发一定要熟悉 GCC 和 GDB ,VS Code是通过调用 GCC 编译器来实现 C/C++ 的编译工作的;通过调用 GDB 来实现调试工作的。

前提

在 linux 下先安装编译器和调试器

//安装gcc,gdb
sudo apt update
//通过以下命令安装编译器和调试器
sudo apt install build-essential gdb
//以下命令确定每个软件是否安装成功
//如果成功,则显示版本号
gcc --version
g++ --version
gdb --version

安装cmake

//通过以下命令安装编译器和调试器
sudo apt install cmake
//确认是否安装成功
//如果成功,则显示版本号
cmake --version

实际操作流程

示例一

1.在某个文件夹下打开终端,新建一个工程文件夹vscode_c_learning1,并在新建的文件夹下打开vscode

 mkdir vscode_c_learning1
 cd vscode_c_learning1/
 code .

2.新建文件:helloworld.cpp
请添加图片描述
3.在helloworld.cpp中写个简单的代码,然后保存(不保存的话编译会报错)请添加图片描述
4.然后"ctrl" + "`"在 VS Code 打开终端,输入:

g++ helloworld.cpp -o helloworld

注:-o后面为生成可执行文件的命名
运行,可以看出生成了可执行文件helloworld

示例二

1.在某个文件夹下打开终端,新建一个工程文件夹vscode_c_learning2,并在新建的文件夹下打开vscode

 mkdir vscode_c_learning2
 cd vscode_c_learning2/
 code .

2.通过这个去新建两个文件夹:include 和 src
请添加图片描述
3.在 include 下面点击 new_file 新建一个swap.h 文件,在 src 下面新建一个 swap.cpp 文件,然后编辑 swap.h 和 swap.cpp 文件。可以右击编辑栏上文件的文字,选择 split 某个方向,分栏同时编辑。也可以按 F11 快捷键进行全屏和不全屏切换。请添加图片描述
4.在写class后会出现这个,按下 tab键, 会根据你的头文件命名自动生成一个类
请添加图片描述
请添加图片描述
5.写好swap.h 和 swap.cpp 文件:
请添加图片描述
6.在VSCODE_C_LEARNING2下新建 new_file 文件 main.cpp
请添加图片描述
发现程序报错,说swap 不明确,原来是由于 swap 是 C++ 中的关键字,不能用于类名。将所有的 swap 改为 swap1后,程序不报错。
7.然后"ctrl" + "`"在 VS Code 打开终端,输入:

g++ main.cpp src/swap.cpp -Iinclude -o main

注:-o后面为生成可执行文件的命名
运行,可以看出生成了可执行文件main
运行 ./main即可看到输出结果。

一些技巧

1.打开文件时,点击一次,可以看到编辑栏上方该文件的名字为斜体,这时打开其他文件该文件会被覆盖掉,若不想覆盖该文件,想让该文件一直保持打开,则在该文件的名字上双击。
或者以后打开文件时都直接双击,这样打开其他文件时就不会关闭以前打开的文件。
2.有可能代码在编写更改时写的比较乱,可以通过格式化代码将代码弄成标准风格,在文件编辑处,右键选择 " Format Document",或者使用快捷键"Ctrl + Shift +i"
3.切换全屏快捷键F11
4.变量替换快捷键 Ctrl +h

一些细节

1.在编译之前记得保存,不保存编译会报错


http://www.niftyadmin.cn/n/883742.html

相关文章

基于VS Code和CMake实现C/C++开发

基于VS Code和CMake实现C/C开发 参考链接: link 一、 CMake到底是什么东西? CMake是一个跨平台的编译工具,可以用简单的语句描述所有平台的安装。CMake已经成为大部分C开源项目标配。 比如要在原始文件中新建一个bar.cpp文件,如果不使用CM…

使用VS Code进行完整项目开发

使用VS Code进行完整项目开发 参考链接: link 一、合理设置项目目录 案例:士兵突击 需求: 1.士兵有一把枪 2.士兵可以开火 3.士兵可以给枪装填子弹 4.枪能够发射子弹 5.枪能够装填子弹—“增加子弹数量” 开发: 开发枪类 开发士兵类 提取到…

用 VS Code 调试C/C++工程步骤总结(简洁版)

用 VS Code 调试C/C工程步骤总结(简洁版) 一、编写CMakeLists.txt 文件 简单模板如下: cmake_minimum_required(VERSION 3.0)project(SOLIDERFIRE)#在g编译时,添加编译参数,比如-Wall可以输出一些警告信息 set(CMAKE_CXX_FLAGS "${CM…

VS Code 配置 leetcode 环境

VS Code 配置 leetcode 环境 一、安装 leetcode 插件 二、安装依赖环境 通过该链接 link 下载linux 版本的 Node.js, 下载完进行安装 安装步骤: //1.对下载的文件进行解压 //2.创建目录 mkdir /usr/local/lib/node //3.移动目录,例如在放置下载的Node…

视觉SLAM十四讲笔记-3-01

视觉SLAM十四讲笔记-3-01 文章目录视觉SLAM十四讲笔记-3-01第三讲-三维空间刚体运动3.1 旋转矩阵和变换矩阵3.1.1点、向量和坐标系3.1.2 坐标系间的欧氏变换3.1.3 变换矩阵和齐次坐标3.2 实践:Eigen第三讲-三维空间刚体运动 参考链接: link,…

视觉SLAM十四讲笔记-3-02

视觉SLAM十四讲笔记-3-02 文章目录视觉SLAM十四讲笔记-3-023.3 旋转向量和欧拉角3.3.1 旋转向量3.3.2 欧拉角3.4 四元数3.4.1 四元数的定义3.4.2 四元数的运算3.4.3 用四元数表示旋转3.4.4 四元数到其他旋转表示的转换3.5 相似、仿射、射影变换参考链接: link&…

安装Pangolin时报Eigen3::Eigen错误解决办法

安装Pangolin时报Eigen3::Eigen错误解决办法 安装遇见的问题 这里需要安装基于 OpenGL 的 Pangolin 库。 slam 14 讲中是从 link 处下载的 Pangolin,我也用以下命令进行安装: //安装依赖库 sudo apt install libgl1-mesa-dev sudo apt install libgle…

VS Code 中解决 C++ 代码编写时的爆红

VS Code 中解决 C 代码编写时的爆红 现象 在 VS Code 中编写 C 代码时,发现正常的 C 11 特性竟然标红,但是可以正常运行。这说明语法没有错,这是由于VS Code 根据编译参数,无法检测 C11 相关语法,因此出现报红和 war…