当前位置: 首页 > news >正文

VS Code中C++程序的调试(Debug)功能

有一个.vscode文件,存放当前工作区相关配置文件的目录。

launch.json

{"version": "0.2.0","configurations": [{"name": "gcc.exe - 生成和调试活动文件",  // 该调试任务的名字,启动调试时会在待选列表中显示"type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,  // 这一项控制是否在入口处暂停,默认false不暂停,改为true暂停"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,  // 这一项控制是否启动外部控制台(独立的黑框)运行程序,默认false表示在集成终端中运行"MIMode": "gdb","miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe",  // 调试器路径,必须与你自己的电脑相符"setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "C/C++: gcc.exe build active file"  // 调试前的预执行任务,这里的值是tasks.json文件中对应的编译任务,也就是调试前需要先编译}]
}

tasks.json

{"tasks": [{"type": "shell","label": "C/C++: gcc.exe build active file",  // 编译任务的名称,跟上面preLaunchTask的值对应"command": "D:/mingw64/bin/g++.exe",  // 编译器的路径,须跟你自己的电脑相符"args": [  // 编译器执行时的参数,跟手动编译时输入的内容基本一致,主要是多了-g参数,以加入调试信息"-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "D:/mingw64/bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true}}],"version": "2.0.0"
}

编译文件

在cmakelists.txt文件中需要设置编译选项:

set(CMAKE_CXX_FLAGS "${CAMKE_CXX_FLAGS} -std=c++11 -pthread -g")

然后编译文件,按这个按钮,选择要调试的可执行的文件,然后就可以对项目进行调试了。
在这里插入图片描述

http://www.lryc.cn/news/122434.html

相关文章:

  • C#四个字节十六进制与单精度浮点数互转
  • Springloc和aop的基础概念
  • 算法练习Day43|● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ
  • 人类:我觉得1+1=956446,你觉得呢?大模型:啊对对对
  • Offset Explorer
  • 查看CentOS版本及系统位数与设置CentOS 7.9 2009 防火墙配置放开端口的命令与过程
  • 前端css高级
  • 华为OD真题--字符串中最小的整数和--带答案
  • 9月30日生效:微软官方服务协议更新,防止人工智能进行逆向工程
  • HarmonyOS教育类APP项目实战系列课结课考试答案(1-10讲)80分就合格
  • 为什么要学习Oracle技术?
  • ffmpeg+intel核显实现硬解码
  • 电脑开机出现Boot Device怎么办?
  • 面试题. 一次编辑
  • Unity悬浮显示提示内容
  • 变形金刚在图像识别方面比CNN更好吗?
  • 【Javascript】ES6新增之类的认识
  • C#随机法 双峰函数 求极值 避免落入局部最优解
  • JavaScript高级:常见设计模式
  • 32bit国产低功耗无线MCU芯片
  • scope组件穿透
  • 分类预测 | Python实现LR逻辑回归多输入分类预测
  • 【微信小程序】通过使用 wx.navigateTo方法进行页面跳转,跳转后的页面中通过一些方式回传值给原页面
  • DIP: Spectral Bias of DIP 频谱偏置解释DIP
  • 【考研数学】概率论与梳理统计 | 第一章——随机事件与概率(1)
  • LeetCode 36题:有效的数独
  • word横向页面侧面页码设置及转pdf后横线变竖线的解决方案
  • 华为OD机试 - 字符串划分(Java JS Python)
  • 使用 `nmcli` 在 CentOS 8 上添加永久路由
  • Java基础五之for循环小练习