教你三步搞定VsCode调试C++

news/2024/7/16 7:31:27 标签: vscode, c++, ide

目录

      • 1 配置编译任务
      • 2 配置调试任务
      • 3 进行调试

1 配置编译任务

使用VsCode进行C++开发时,除了在机器上安装必要的编译工具(例如,gcc、g++、cmake等)之外,还需要在VsCode配置编译任务,从而可以通过点击或者快捷键的方式进行快速编译。

配置编译任务需要配置两个文件:

  • c_cpp_properties.json:环境管理
  • tasks.json:编译任务

配置c_cpp_properties.json:

ctrl + p,输入> C/C++,在其中找到Edit Configuration:

请添加图片描述

需要配置的项主要有:

  • Compiler path:编译器路径
  • C standard:C语言版本
  • C++ standard:C++版本

配置tasks.json:

ctrl + p,输入> tasks:

请添加图片描述

然后将json修改为:

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "cmake",
			"command": "cmake",
			"args": [
				"-G",
				"Unix Makefiles",
				"-DCMAKE_BUILD_TYPE=Debug"
			],
			"group": "build",
			"problemMatcher": [],
			"detail": "CMake template build task"
		},
		{
			"label": "make",
			"command": "make",
			"problemMatcher": []
			
		},
		{
			"label": "Build",
			"dependsOrder": "sequence",
			"dependsOn": [
				"cmake",
				"make"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			}
		}
	]
}

tasks中有三个对象,第一个是执行cmake命令,第二个是make命令,第三个是将第一个和第二个整合起来,顺序调用cmake和make,并且设置为默认操作,因此,当选择Terminial->Run Build Task时,就会依次执行cmake和make进行编译。

2 配置调试任务

ctrl + p,输入> Debug:

请添加图片描述

随便选择一个应用类型,然后将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=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "cppdbg",
            "request": "launch",
            "name": "gdb",
            "program": "${workspaceFolder}/test",
            "MIMode": "gdb",
            "cwd": "${workspaceFolder}"
        }
    ]
}
  • type:类型
  • name:名称,用于区分多个配置
  • program:调试的程序
  • MIMode:指定调试器,这里用gdb
  • cwd:当前目录,可以直接使用变量

然后就可以打开调试窗口启动调试:

请添加图片描述

3 进行调试

在调试窗口,可以设置断点,然后进行调试,调试过程中可能会使用到4个快捷键:

  • F10(Step Over):一步一步执行
  • F11(Step Into):进入函数执行
  • F5(Continue):继续执行,在下一个断点处停住
  • Ctrl + Shift + F5(Stop):停止调试

请添加图片描述


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

相关文章

pandas-corr

pandas的corr方法用于计算两个或多个Series或DataFrame之间的相关系数矩阵。 语法示例: DataFrame.corr(methodpearson, min_periods1)参数说明: method:相关系数的计算方法,可以是’pearson’、‘kendall’或’spearman’。默…

[unity]保存文件的路径设置

序 比如,序列化了一个数组,保存到磁盘上。 原来的路径是"D://test.bin",能跑,但是有点问题:序列化出来的文件和原项目离的太远,不好管理。 要是能保存到unity工程的文件夹里就好了。这个路径该…

git操作将本地的代码推送到远程仓库

git操作将本地的代码推送到gitlab 报错:1:git remote add origin https://git.stargraph.cn/ed/be/gs_project/shudian-vp.git $ git remote add origin https://git.stargraph.cn/ed/be/gs_project/shudian-vp.git fatal: remote origin already exist…

在VS Code中优雅地编辑csv文件

文章目录 Rainbow csv转表格CSV to Tablecsv2tableCSV to Markdown Table Edit csv 下面这些插件对csv/tsv/psv都有着不错的支持,这几种格式的主要区别是分隔符不同。 功能入口/使用方法Rainbow csv按列赋色右键菜单CSV to Table转为ASCII表格指令CSV to Markdown …

力扣第101题 c++ 递归 迭代 双方法 +注释 ~

题目 101. 对称二叉树 简单 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false提示&a…

找出一段英文文本中出现次数最多的10个单词

10年前,中本聪在第一个区块里写了那句著名的话"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.&#xff08;2009 年 1 月 3 日&#xff0c;财政大臣正处于实施第二轮银行紧急援助的边缘&#xff09;",用这句话的出处,<泰晤士报>头版…

LCR 127.跳跃训练

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;LCR 127. 跳跃训练 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 动态规划。n 阶台阶的跳跃方式为 n-1 阶台阶的跳跃方式 与 n-2 阶台阶的跳跃方式之和。 解题代码&#xff1a; class S…

【Java 进阶篇】HTML介绍与软件架构相关知识详解

HTML&#xff08;Hypertext Markup Language&#xff09;是一种用于创建网页的标记语言。它是互联网上信息传递和展示的基础&#xff0c;无论是在浏览器中查看网页还是在移动设备上浏览应用程序&#xff0c;HTML都扮演着关键角色。本文将向您介绍HTML的基础知识&#xff0c;并探…