VScode在linux下调试代码备忘

news/2024/7/8 6:51:29 标签: vscode, ide, 编辑器

0、资料来源

https://www.bilibili.com/video/BV13K411M78v? p=2&spm_id_from=pageDriver

该视频讲解了vscode在window下配置单个源文件/多个源文件/CMakeLists.txt工程,如何进行调试

在此基础上测试了linux下vscode的调试,并通过测试,可以同时编译和调试

1、文件说明:

  1. launch.json文件

用于执行gdb的调试文件

  1. tasks.json文件

用于生成可执行文件的文件,这里面的配置就相当于(cmake .. make)

总结:如果只配置launch.json文件,可以执行调试,当修改代码后,还是保持原来的代码进行调试;

如果配置了tasks.json文件,当修改代码后,直接执行了make,再调试就是执行新的代码。

2、launch.json文件配置

点击:创建launch.json文件

修 改 文 件 :          

program:为可执行文件路径args:为main函数提供的参数
cwd:主CMakeLists.txt路径launch.json文件(修改后) 看截图:

// Use IntelliSense to learn about possible attributes.

// Hover to view descriptions of existing attributes.

// For more information, visit: https://go.microsoft.com/fwlink/?linkid= "version": "0.2.0",

"configurations": [

{

"name": "(gdb) Launch",

"type": "cppdbg",

"request": "launch",

"program": "/data/face/djtu2/test_ICCVP1.1/ICCVP1.1/output/bin/i

"args": ["ALL","/data/face/djtu2/test_ICCVP1.1/ICCVP1.1/output/b "stopAtEntry": false,

"cwd": "/data/face/djtu2/test_ICCVP1.1/ICCVP1.1/", "environment": [],

"externalConsole": false, "MIMode": "gdb",

"setupCommands": [

{

"description": "为 gdb 启用整齐打印",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}],

//这里用于连接到tasks.json,其中Build是lable名字

"preLaunchTask": "Build"

}

]

}

3、tasks.json文件配置

tasks.json文件用于更新代码,更新可执行文件,launch.json文件调用可执行文件options:为生成的makefile文件位置

command:就是 make -j ,也可以在 后面加数字

make -j 4

"command": "make",
"args": [
"-j", "4"
]

tasks.json文件

看截图:

{
"version": "2.0.0", "options": {
//makefile位置
"cwd": "/data/face/djtu2/test_ICCVP1.1/ICCVP1.1/cmake_build/cmake_bu
},
"tasks": [

{
"label": "make", "group": {
"kind": "build", "isDefault": true
},
"command": "make", "args": [
"-j"
]
},
{
"label": "Build", "dependsOn": [
"make"
]

}

],
	
}

总结:所有的路径尽量都是绝对路径。

4、解决单步调试乱跳问题

参考https://www.cnblogs.com/hustdc/p/10226508.html 

将CMakeLists.txt中

修改为:

默认是-O3优化代码,使用-O0不对代码进行优化


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

相关文章

典型案例 | 基于全数字实时仿真的嵌入式DevOps解决方案

为丰富浙江省信息技术应用创新(以下简称“信创”)产业生态,在全社会各领域形成示范效应,浙江省经信厅联合省密码管理局开展2023年浙江省深化信创典型案例评选工作。 经过征集申报、专家评选、名单公示等程序,确定36个…

VSCode使用Makefile管理工程

Visual Studio Code(VSCode) 是一个高度可定制的代码编辑器,支持广泛的编程语言和构建系统。通过使用 Makefile 和适当的扩展,可以轻松地使用 VSCode 来管理基于 Make 的项目。以下是详细步骤,帮助你在 VSCode 中使用 …

软件测试面试200问【答案+文档】

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1、B/S架构和C/S架构区别 B/S 只需要有操作系统和浏览器就行,可以实现跨平台&#x…

微信小程序 typescript 开发日历界面

1.界面代码 <view class"o-calendar"><view class"o-calendar-container" ><view class"o-calendar-titlebar"><view class"o-left_arrow" bind:tap"prevMonth">《</view>{{year}}年{{month…

蓝桥杯开发板STM32G431RBT6高阶HAL库学习FreeRtos——新建工程

一、介绍 ​ 蓝桥杯嵌入式使用的单片机是STM32G431RBT6&#xff0c;内核ARM Cortex - M4&#xff0c;MCUFPU&#xff0c;170MHz/213DMIPS&#xff0c;高达128KB Flash&#xff0c;32KB SRAM&#xff0c;其余的外设就不多介绍了&#xff0c;参照数据芯片数据手册 ​ CT117E-M4…

力扣206

题目 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例 3&#xff1a; 输…

Hadoop权威指南-读书笔记-03-Hadoop分布式文件系统

Hadoop权威指南-读书笔记 记录一下读这本书的时候觉得有意思或者重要的点~ 还是老样子~挑重点记录哈&#x1f601;有兴趣的小伙伴可以去看看原著&#x1f60a; 第三章 Hadoop分布式文件系统 当数据集的大小超过一台独立的物理计算机的存储能力时&#xff0c;就有必要对它进行分…

【2024】LeetCode HOT 100——二分查找

目录 1. 搜索插入位置1.1 C++实现1.2 Python实现1.3 时空分析2. 搜索二维矩阵2.1 C++实现2.2 Python实现2.3 时空分析3. 在排序数组中查找元素的第一个和最后一个位置3.1 C++实现3.2 Python实现3.3 时空分析4. 搜索旋转排序数组4.1 C++实现4.2 Python实现4.3 时空分析5. 寻找旋…