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

在 VS Code 中调试 C++ 项目

选择调试器环境

从预定义的调试配置中进行选择,生成预定义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": [{"name": "(gdb) Launch","type": "cppdbg","request": "launch",//设置为活动文件夹和活动文件名// "program": "${workspaceFolder}/leetcode100/06矩阵/a.out",  "program": "${fileDirname}/${fileBasenameNoExtension}",  //启动程序时传递给程序的命令行参数数组 "args": [],//默认不会添加任何断点,如果希望调试器在开始调试时停止在main方法,将stopAtEntry设置为true"stopAtEntry": true,"cwd": "${fileDirname}","environment": [],"externalConsole": false,//指示调试器将连接到gdb或lldb"MIMode": "gdb",//调试器的路径,如果没有指定,将在计算机路径变量中搜索调试器,取决于MIMODE"miDebuggerPath": "/usr/bin/gdb",//指定要传递给调试器的附加参数"miDebuggerArgs": "","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "Set Disassembly Flavor to Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]}]
}

举例

#include <iostream>
#include <vector>
#include <string>using namespace std;int main() {vector<string> msg {"hello", "world", "from", "vs code"};for (const string& word : msg) {cout << word << " "; }cout << endl;
}
(base) daichang@daichang:~/Desktop/Algorithm-training/gdb$ g++ helloworld.cc -o helloworld

开始调试,使用键盘快捷键F5

在Debug Console 显示调试器已启动并正在运行的输出,在最后一个cout语句完成之前,调试控制台不会出现任何输出。因为需要换行符来刷新缓冲区

可以使用变量缓冲区中的set alue来修改变量值等


http://www.mrgr.cn/news/30179.html

相关文章:

  • 二百六十七、MySQL——海豚调度器创建MySQL库表
  • Text2SQL论文笔记 A Survey on Employing Large Language Models for Text-to-SQL Tasks
  • CH1-2 误差分析
  • 7iDU AMP田岛绣花机驱动器维修0J2100400022
  • 【git】git中的那些迷惑的术语以及概念详解
  • 代码随想录算法训练营第3天|链表理论基础、203. 移除链表元素、 707.设计链表、 206.反转链表
  • Ubuntu 编译安装 openresty
  • Java 版本兼容性问题:从 `ifPresentOrElse` 到 `Optional` 的替代方案
  • 无人机之AI跟踪篇
  • 【机器学习(八)】分类和回归任务-因子分解机(Factorization Machines,FM)-Sentosa_DSML社区版
  • 海报制作模板免费下载哪个?建议试试这6个
  • uniapp小程序使用canvas画圆
  • 关于有源蜂鸣器及无源蜂鸣器的区别及驱动各类单片机案例
  • Vue3.0组合式API:使用defineEmits()实现子组件向父组件传递数据
  • 【Vue】VueRouter路由
  • Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
  • 学习Stable Diffusion使用 Roop插件轻松换脸(附插件)
  • 数据结构(十四)——HashMap与HashSet(OJ题)
  • G - Merchant Takahashi
  • 自动泊车系统中的YOLOv8 pose关键点车位线检测