【C++】再谈vscode界面调试C++程序(linux) - 知识点目录

news2024/11/15 18:03:19

再谈vscode界面调试C++程序(linux)

配套文档:vscode界面调试C++程序(linux)

命令解释

g++ -g ../main.cpp

编译main.cpp文件;
-g:生成调试信息。编译器会在可执行文件中嵌入符号表和源代码文件名,方便调试器进行调试。

1. 引言和方案简介

VSCode对于C++的调试方式

VSCode对于C++提供了两种调试方式:

  • 基于VSCode自带的自动构建调试:构建配置 + CPP插件
  • 基于CMake方式的调试:CMake插件

2. 配置文件编写

2.1 左上角“运行和调试”窗口

可以创建launch.json文件;
在这里插入图片描述

2.2 Launch.json

点击添加配置…引入调试程序

在这里插入图片描述

3. 调试中功能点简介

反汇编视图

操作路径:调试模式下 ⇒ \Rightarrow .cpp代码页面 ⇒ \Rightarrow 打开右键菜单 ⇒ \Rightarrow 值更改时中断
在这里插入图片描述

写入断点

操作路径:选中变量,或容器中的某个元素 ⇒ \Rightarrow 打开右键菜单 ⇒ \Rightarrow 打开反汇编视图

在这里插入图片描述

添加记录点

调试控制台中输出信息,也支持表达式的输出;
在这里插入图片描述

All C++ Exceptions

类似python调试的“在异常处中断”;

4. 以“死循环”为例进行attach调试

4.1 在控制台中启动程序a.out

4.2 在调试选项卡,启动Debug任务“1212”

启动附加调试,此时调试控制台中会有符号载入的信息显示,
在这里插入图片描述

4.3 点击调试工具栏的⏸按钮,查看代码阻塞原因

在这里插入图片描述

4.4 点击调试工具栏的断开按钮,停止附加进程

因为只有先断开调试附加程序,才能在终端中使用Ctrl + C中止a.out程序的运行,

在这里插入图片描述

4.5 底部状态栏也可以启动调试

在这里插入图片描述
然后快捷栏会提示:选择调试任务,
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员必备的技能-深入理解 Linux 内核拆解

841 页的《深入理解 Linux内核》堪称经典,时隔多年打开,泛黄的纸张上面仍然跳跃出一个个让人心潮澎湃的知识点,突然让我想起一位微信朋友的昵称:知识的舔狗!拆,开始~前言第一章 绪论Linux与其他类Unix内核…

springmvc汽车企业公司网站的系统设计 java ssm

红旗汽车走进社区,走进生活,成为当今生活中不可缺少的一部分。随着汽车行业的发展,加强管理和规范管理司促进红旗汽车网站健康发展的重要推动力。在我国迎来良好的发展机遇,但同时也确实有许多问题的需要研究和探讨。系统主要完成…

pvs中pv显示[unknown]解决方法、正确剔除一个vg流程方法【不影响vg已有的lv数据】、vgs容量和硬盘容量显示不一致解决方法

文章目录pvs中pv显示[unknown]解决方法报错产生情况报错说明解决方法解决方法【无法修复情况,重要!!!】解决方法【正常情况下】正常的剔除一个vg流程【不影响vg已有lv】环境准备强制剔除正常剔除vgs容量和硬盘容量显示不一致解决方…

Mr. Cappuccino的第42杯咖啡——Kubernetes之Pod控制器(一)

Kubernetes之Pod控制器Pod控制器介绍ReplicaSet弹性扩容弹性缩容使用scale命令进行扩容或者缩容更新镜像删除ReplicaSetDeployment弹性扩容与缩容删除Deployment更新镜像重建更新滚动更新版本回退Pod控制器介绍 Pod是Kubernetes集群中能够被创建和管理的最小部署单元。所以需要…

Beats:使用 fingerprint 来连接 Beats/Logstash 和 Elasticsearch

针对带有 HTTPS 访问的 Elasticsearch 集群来说,在我之前的很多文章,我都习惯于使用集群的证书来访问 Elasticsearch。你可以参考我之前的文章 “Elastic Stack 8.0 安装 - 保护你的 Elastic Stack 现在比以往任何时候都简单”。这是一种非常简便的方法。…

一文搞懂 DevOps

前言 DevOps作为一个热门的概念,近年来频频出现在各大技术社区和媒体的文章中,备受行业大咖的追捧,也吸引了很多吃瓜群众的围观。 那么,DevOps是什么呢? 有人说它是一种方法,也有人说它是一种工具&#…

github上传本地文件详细过程

repository 也就是俗称的仓库 声明:后续操作基于win10系统 前提:有一个github账号、电脑安装了git(官方安装地址) 目的: 把图中pdf文件上传到github上的个人仓库中 效果: 温馨提示: git中复制: ctrl insert&#xf…

【JavaWeb】一文学会JPA

✅✅作者主页:🔗孙不坚1208的博客 🔥🔥精选专栏:🔗JavaWeb从入门到精通(持续更新中) 📋📋 本文摘要:本篇文章主要介绍JPA的概念、注解实现ORM规范…

微信小程序学习第11天——Vant Weapp组件库、API Promise化、全局数据共享Mobx、分包

目录一、小程序对npm 的限制二、使用Vant Weapp组件库1、安装组件2、使用组件3、定制全局样式三、API Promise化1、下载miniprogram-api-promise2、引入3、使用四、全局数据共享五、分包1、分包概念2、使用分包3、独立分包4、分包预下载一、小程序对npm 的限制 在小程序中使用…

数值方法笔记2:解决非线性方程

1. 不动点定理及其条件验证2. 收敛阶、收敛检测与收敛加速2.1 如何估计不动点迭代的收敛阶xk1g(xk){x}_{{k}1}{g}\left({x}_{{k}}\right)xk1​g(xk​)2.2 给定精度的情况下,如何预测不动点迭代需要迭代的次数2.3 如何加快收敛的速度2.4 停止不定点迭代的条件2.5 不动…

基于Transformer的NLP处理管线

HuggingFace transformers 是一个整合了跨语言、视觉、音频和多模式模态与最先进的预训练模型并且提供用户友好的 API 的AI开发库。 它由 170 多个预训练模型组成,支持 PyTorch、TensorFlow 和 JAX 等框架,能够在代码之间进行互操作。 这个库还易于部署&…

【Leedcode】数据结构中链表必备的面试题(第一期)

链表必备的面试题 (附图解和源码)(第一期) 文章目录链表必备的面试题 (附图解和源码)(第一期)一、第一题1.题目2.思路图解(1)pos是首链表(2&#…

基于SpringBoot+Vue的鲜花商场管理系统

【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、…

【Vue3源码】第三章 readonly详解 从零实现Vue3 readonly API

【Vue3源码】第三章 readonly详解 从零实现Vue3 readonly API 前言 上一章节我们实现了effect函数的stop和onstop功能,至此effect函数源码的编写就暂时告一段落了,这一章我们继续解读Vue3源码,开始实现Vue3 Reactivity :core 中…

Java基础361问14问——为什么非静态内部类会默认持有外部类的引用?

在内存泄露问题排查中最常遇到就是 【非静态内部类默认持有外部类的引用】 文章目录1 字节码分析javac Activity.javajavap -c Activity.class2 静态内部类会持有外部类引用吗?参考文档// 简化处理相关代码 public class Activity {private Handler inner new Handler();priv…

C++面向对象(中)

文章目录前言1.类的6个默认成员函数介绍2.构造函数3.析构函数1.概念2.析构函数特征4.拷贝构造1.概念2.拷贝构造函数特征3.注意事项5.赋值运算符重载1.概念6.补充知识const成员函数7.取地址运算符和const取地址运算符重载8.总结前言 本文主要介绍C中的六个天选之子,…

MicroBlaze系列教程(6):AXI_IIC的使用

文章目录 @[toc]AXI_IIC简介MicroBlaze硬件配置常用函数使用示例波形实测参考资料工程下载本文是Xilinx MicroBlaze系列教程的第6篇文章。 AXI_IIC简介 一般情况下,使用FPGA实现I2C协议主要有两种方式:一种是基于Verilog实现起始位、停止位、ACK产生和判断、数据的发送和接收…

程终止、进程睡眠、进程对信号处理过程中等的方法

上一章学习了调度的方式,分为主调度器和周期性调度器,明白了进程切换分为自愿(voluntary)和强制(involuntary)两种。 自愿切换: 是指任务由于等待某种资源,将state改为非running状态后,主动调用schedule让出CPU 任务…

html中元素居中的五种方法

在网页开发中,经常会有嵌套元素中将子元素居中的要求。下边将五种常用的居中方法进行总结。 1:原始图(父子元素无border,无padding): 2:实现居中效果: 一:使用margin…

一篇文章带你学会Anisble中的如何处理失败任务

目录 一、循环 1、简单循环 2、循环散列或字典列表 3、练习 二、条件 三、触发器 四、处理失败任务 1、ignore_errors 2、force_handlers 3、changed_when 4、failed_when 5、block 练习 一、循环 作用:循环迭代任务 1、简单循环 loop: ##赋值列表 -…