Linux基础开发工具--gdb的使用

发布时间 - 2025-04-18 00:00:00    点击率:

安装准备:

为了更好地学习和使用gdb,我建议大家先安装cgdb,这将有助于观察操作并学习gdb。

使用以下命令来安装cgdb:

  1. 背景

    1. 程序的发布方式有两种:调试模式(debug)和发布模式(release)。
    2. Linux gcc/g++编译出的二进制程序,默认是发布模式。
    3. 要使用gdb进行调试,必须在生成二进制程序时加入 -g 选项。
  2. 开始使用

    • list/l 行号:显示binFile源代码,从上次位置继续往下列,每次显示10行。
    • list/l 函数名:显示某个函数的源代码。
    • r或run:运行程序。

  • n或next:单步执行。
  • s或step:进入函数调用。
  • break(b) 行号:在某一行设置断点。

  • break 函数名:在某个函数开头设置断点。
  • info break:查看断点信息。
  • finish:执行到当前函数返回,然后暂停等待命令。

  • print(p):打印表达式的值,通过表达式可以修改变量的值或调用函数。
  • p 变量:打印变量值。

  • set var:修改变量的值。

  • continue(或c):从当前位置开始连续执行程序,直到下一个断点。
  • run(或r):从开始连续执行程序。
  • delete breakpoints:删除所有断点。
  • delete breakpoints n:删除序号为n的断点。
  • disable breakpoints:禁用断点。

  • enable breakpoints:启用断点。

  • info(或i) breakpoints:查看当前设置的断点。
  • display 变量名:跟踪查看一个变量,每次暂停时显示其值。

  • undisplay:取消对先前设置的变量的跟踪。
  • until X行号:跳至X行。
  • breaktrace(或bt):查看各级函数调用及参数。
  • info(i) locals:查看当前栈帧的局部变量值。
  • quit:退出gdb。

补充:

  1. 制作Linux第一个小程序-进度条


# linux  # 工具  # print  # break  # continue  # 局部变量  #   # var  # delete  # display  # 行号  # 源代码  # 制程  # 变量值  # 第一个  # 有两种  # 往下  # 这将  # 要使  # 先前 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  linux写shell需要注意的问题(必看)  Linux网络带宽限制_tc配置实践解析【教程】  用yum安装MySQLdb模块的步骤方法  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Laravel Fortify是什么,和Jetstream有什么关系  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel如何使用Eloquent进行子查询  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Laravel如何处理和验证JSON类型的数据库字段  SQL查询语句优化的实用方法总结  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  想要更高端的建设网站,这些原则一定要坚持!  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  北京专业网站制作设计师招聘,北京白云观官方网站?  JS实现鼠标移上去显示图片或微信二维码  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  如何为不同团队 ID 动态生成多个非值班状态按钮  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  教你用AI润色文章,让你的文字表达更专业  如何基于云服务器快速搭建网站及云盘系统?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  php 三元运算符实例详细介绍  Laravel怎么在Controller之外的地方验证数据  详解jQuery停止动画——stop()方法的使用  WEB开发之注册页面验证码倒计时代码的实现  中山网站制作网页,中山新生登记系统登记流程?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  香港服务器如何优化才能显著提升网站加载速度?  Laravel如何实现用户密码重置功能?(完整流程代码)  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何在云虚拟主机上快速搭建个人网站?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  潮流网站制作头像软件下载,适合母子的网名有哪些?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何快速启动建站代理加盟业务?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  JavaScript如何实现倒计时_时间函数如何精确控制  如何用PHP快速搭建高效网站?分步指南  网站制作企业,网站的banner和导航栏是指什么?  怎样使用JSON进行数据交换_它有什么限制  Laravel Docker环境搭建教程_Laravel Sail使用指南