Linux调试器-gdb

一、背景

程序的发布方式有两种,debug模式和release模式

debug模式:编译器形成可执行程序的时候会给可执行程序添加调试信息

程序员调试时使用debug模式,而release模式用于测试

而gcc/g++默认编译,采用release模式

用gcc/g++使用debug模式编译, 加 -g

dubug模式下文件大小大于release模式下文件大小。

debug模式下会添加调试信息

二、gdb使用

基础
quit/q退出gdb
list/llist/l filename:行号/函数名  l 行号/函数名列举上下10行内容
Breakpoint/bb 文件名:行号/函数名  b 行号/函数名 打断点
info/iinfo/i b显示断点信息
delete/dd 断点编号删除断点
disable/enabledisable/enable 断点编号使能(关闭/打开)断点
next/n逐过程
step/s逐语句
run/r编译
print/pprint/p 变量/&变量查看变量 内容/地址
displaydisplay 变量/&变量常显示变量 内容/地址
undisplayundisplay 变量编号取消常显示
高级
continue/c运行至下一格断点处
finish把当前函数运行至结束
untiluntil 行号跳转至指定行,跳过代码都会执行
set var修改变量
bt查看栈

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能建筑:基于IT的集成和融合解决方案

智能建筑( Intelligent Building) 定义: 以建筑为平台,兼备建筑设备、办公自动化及通信网络系统,集结构、系统、服务、管理及它们之间的最优化组合,向人们提供一个安全、高效、舒适、便利的建筑环境。 智能建筑的发展历史: -产生:1984年世界上第一座智能大厦诞生于美国…

基于yolov8安全帽检测的系统

基于yolov8安全帽检测的系统 项目描述: 安全头盔检测(计算机视觉) 1.自训练数据集1538张数据图片,进行标注,并进行100轮的训练,准确率达0.966 2.使用 Flask 和 Ultralytics YOLOv8 模型开发了一个 Web 应…

【开发环境搭建篇】NodeJS的安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

C++ STL-string 类使用超详解

目录 0. 引言 1. string 类 1.1 string类的基本概念 1.2 string类与char*的区别 1.3 string类的作用 2. string 的接口使用 2.1 string 类对象的默认成员函数 2.1.1 构造函数 - 初始化 2.1.2 npos 含义 2.2 赋值重载 - 初始化 2.3 析构函数 2.2 string 类对象的访问和…

目前服务器2核4G支持多少人同时访问?性能如何?

腾讯云轻量应用服务器2核4G5M配置性能测评,腾讯云轻量2核4G5M带宽服务器支持多少人在线访问?并发数10,支持每天5000IP人数访问,腾讯云百科txybk.com整理2核4G服务器支持多少人同时在线?并发数测试、CPU性能、内存性能、…

Qt 窗口MainWindow(下)

对话框 对话框是 GUI 程序中不可或缺的组成部分。一些不适合在主窗口实现的功能组件可以设置在对话框中。对话框通常是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。Qt 常用的内置对话框有: QFiledialog (文件对话框)、QColorDi…

36.基于SpringBoot + Vue实现的前后端分离-高校汉服租赁网站系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的高校汉服租赁网站系统设计与实现管理…

【包远程安装运行】SpringBoot+Mysql实现的美食分享菜谱制作平台+演示视频+开发文档(论文模板)

今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的美食分享菜谱制作平台系统,该系统分为前台和后台,多用户分享平台。主要实现了 除脚手架功能以外下面是系统的功能: 前台普通用户:注册、登录、首页、美食…

如何在软件测试行业走的更远?

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 时间往前推10年,IT业如日中天。 其中测试更是一个极具包容性的行业。那些希望在技术…

图像抠图DIS——自然图像中高精度二分图像抠图的方法(C++/python模型推理)

概述 DIS(Dichotomous Image Segmentation)是一种新的图像分割任务,旨在从自然图像中分割出高精度的物体。与传统的图像分割任务相比,DIS更侧重于具有单个或几个目标的图像,因此可以提供更丰富准确的细节。 为了研究…

Java只有中国人在搞了吗?

还是看你将来想干啥。想干应用架构,与Java狗谈笑风生,沆瀣一气,你就好好写Java,学DDD,看Clean Architecture。你想成为炼丹玄学工程师,年入百万,就选python,专精各种paper。你不在意…

如何修改SystemUI Clock的样式

开机的流程为: 在 CollapsedStatusBarFragment 的onCreateView 方法中 inflate R.layout.status_bar.xml, 里面定义有Clock。 CollapsedStatusBarFragment 的被调用流程为: 在StatusBar 的makeStatusBarView方法中显示出来。 所以可以在文…

Vue 若依框架 form-generator添加表格组件和动态表单组件

效果图: 在若依框架自带的流程表单配置基础上添加这两个组件 config.js // 表单属性【右面板】 export const formConf {formRef: elForm,formModel: formData,other: other,size: medium,labelPosition: right,labelWidth: 100,formRules: rules,gutter: 15,dis…

vue2 和 vue3 配置路由有什么区别

vue2 和 vue3 配置路由有什么区别 初始化路由器实例:注入到应用中:动态路由参数和捕获所有路由:编程式导航 API:异步加载组件: vue2 如何 使用路由 第一步:安装 vue-router第二步:创建路由组件第…

在面对API的安全风险,WAAP全站防护能做到哪些?

随着数字化转型的加速,API(应用程序接口)已经成为企业间和企业内部系统交互的核心组件。在应用程序开发过程中,API能够在不引起用户注意的情况下,无缝、流畅地完成各种任务。例如从一个应用程序中提取所需数据并传递给…

【MySQL】知识点 + 1

# (1)查询当前日期、当前时间以及到2022年1月1日还有多少天,然后通过mysql命令执行命令。 select curdate() AS 当前日期,curtime() AS 当前时间,datediff(2022-01-01, curdate()) AS 距离2022年1月1日还有天数;# (2)利…

【iOS ARKit】3D文字

首先,3D场景中渲染的任何虚拟元素都必须具有网格(顶点及顶点间的拓扑关系),没有网格的元素无法利用GPU 进行渲染,因此,在3D 场景申渲染 3D文字时,文字也必须具有网格。在计算机系统中&#xff0…

发展新质生产力,亚信科技切中产业痛点

管理学大师拉姆查兰认为,经营性不确定性通常在预知范围之内,不会对原有格局产生根本性影响;而结构性不确定性则源于外部环境的根本性变化,将彻底改变产业格局,带来根本性影响。 毫无疑问,一个充满结构性不…

VS Code配置Python环境

首先贴一张完全卸载VS Code的图,包括一些配置和插件。 讲述一下如何配置Python环境以及和Conda的配合使用(涉及到虚拟环境) VS Code配置Python需要三步:安装Python环境;在VS Code软件中下载Python插件;新建python文件开始coding。…

Docker容器初始

华子目录 docker简介虚拟化技术硬件级虚拟化硬件级虚拟化历史操作系统虚拟化历史基于服务的云计算模式 什么是dockerDocker和传统虚拟化方式的不同之处为什么要使用docker?Docker 在如下几个方面具有较大的优势 对比传统虚拟机总结docker应用场景docker改变了什么 基…