【Linux】09.Linux 下的调试器——gdb/cgdb

server/2024/9/22 12:50:21/

一、gdb/cgdb的认识

我们在VS上调试时都是使用Debug版本的,但是在Linux下gcc/g++默认生成的是Relaese版本,我们想要进行调试就要用-g选项生成Debug版本的程序。但是Linux下的gdb是一种命令行调试工具,因此就有了cgdb为我们提供可视化的调试界面。

二、gdb的基本命令

  • 进入gdb/cgdb: gdb/cgdb 文件名
  • 退出gdb/cgdb: quit
  • l: 显示代码
    • l 行号: 显示从给定行开始的10行内容
    • l 函数名: 显示给定函数的10行内容
    • l 文件: 行号 显示给定文件对应行号开始的10行内容
  • r: 运行代码 相当于VS中的F5
  • b 行号: 给定行号处打断点
  • d 断点编号: 删除断点编号对应的断点
  • info b: 显示断点信息
  • disable: 关闭断点
  • enable: 开启断点
  • n: 单步执行(逐过程)相当于VS中的F10
  • s: 单步执行(逐语句)相当于VS中的F11
  • bt: 查看堆栈调用
  • dispaly 变量名: 常显示变量的值
  • undisplay 变量名: 去掉变量的常显示
  • p 变量: 打印变量的值
  • until 行号: 跳转到指定行
  • c: 跳转到下一处断点
  • finish: 结束某一函数,并显示返回值
  • watch 变量名: 监视某一变量,变得时候会有显示
  • set var 表达式: 修改变量值,方便我们的验证
  • 条件断点:
    • b 行号 if 执行的条件: 创建新的条件断点
    • condition 断电编号 条件: 将已经存在的断点变成条件断点

http://www.ppmy.cn/server/118411.html

相关文章

【算法】差分思想:强大的算法技巧

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

从底层原理上解释 clickhouse 保证完全的幂等性

在分布式系统中,幂等性是指某个操作被多次执行,其效果和结果应该和执行一次相同。ClickHouse作为一个高效的OLAP数据库,在其底层架构和查询引擎中,通过多个机制和策略来确保操作的幂等性。具体来说,ClickHouse的幂等性…

【设计模式-外观】

这里写自定义目录标题 定义UML图角色作用代码使用场景 定义 为子系统中一组相关接口提供一致界面,定义一个高级接口,使得子系统更加容易使用。 UML图 角色作用 外观(Facade)角色:这是外观模式的核心,它知…

fmql之ubuntu移植

官方资料:ubuntu18的压缩包 目的:放到SD卡中启动ubuntu(官方是放在emmc中) 教程:99_FMQL45_大黄蜂开发板跑ubuntu18.04.docx 所需文件 其中,format_emmc_ext4.txt对emmc的分区是512M(放上述文…

算法打卡:第九章 动态规划part12

今日收获:不同的子序列,两个字符串的删除操作,编辑距离 1. 不同的子序列 题目链接:115. 不同的子序列 - 力扣(LeetCode) 思路: (1)dp数组表示两个字符串 i-1,j-1位置…

Linux审计系统软件auditd简介

Linux审计系统软件auditd是一个强大的工具,用于监控和记录安全相关的信息。它最初是基于Linux 2.6.11.12版本内核开发的,主要的审计机制代码位于kernel/audit.c和kernel/auditsc.c中[^4]。auditd可以记录系统调用和文件访问等事件,帮助系统管…

TCP协议分析《实验报告》

一、实验目的 1、理解TCP协议; 2、掌握TCP协议三次握手建立连接和四次挥手释放连接的过程; 3、理解TELNET协议及工作过程; 4、掌握TCP协议分析方法。 二、实验设备和环境 1、硬件设备:PC机或笔记本电脑; 2、软件…

学成在线练习(HTML+CSS)

准备工作 项目目录 内部包含当前网站的所有素材,包含 HTML、CSS、图片、JavaScript等等 1.由于元素具有一些默认样式,可能是我们写网页过程中根本不需要的,所有我们可以在写代码之前就将其清除 base.css /* 基础公共样式:清除…