Linux gdb符号调试器

简介:

  gdb是一个用来调试C/C++程序的功能强大的调试器,它能在程序运行时观察程序内部结构和内存的使用情况。

  主要功能包括:

  1. 监视程序中变量值的变化。
  2. 设置断点,使程序在指定的代码行上暂停执行,便于观察。
  3. 单步执行代码。
  4. 分析崩溃程序产生的core文件。

  命令形式:

gdb [filename]

  命令设置:

复制代码
//在main()处设置断点
(gdb)break main

//执行程序
(gdb)run

//此刻,程序运行到main()处停止

//使用下面命令,直到遇到下一断点或结束才停止,下面两种功能一样
(gdb) count N
(gdb) continue N

//使断点恢复
(gdb)enable 断点编号

//使断点失效
(gdb)disalbe
断点编号
//删除断电
(gdb)delete
断点编号或表达式
//清楚断点
(gdb)clear 要清除断电所在行号

复制代码
//可以受用单步跟踪命令跟踪程序代码,它一次只执行程序的一行代码(快捷键s)
(gdb)step
复制代码
//它可以打印表达式的值,还可以用来打印内存中某个变量开始的一段区域的内容
(gdb)print 打印表达式

//print命令后的表达式有两个符号具有特殊意义,$和$$,$为给定序号的前一序号,$$为给定序号的前两个序号
(gdb)print i

$1=30
(gdb)print $

$2=30
(gdb)print $$

$3=30
(gdb)print $$3

$4=30
复制代码
//dispaly可以用来观察一些表达式的变化

(gdb)display 要显示表达式的值

//不需要跟踪某一段代码时使用,它不能跟踪到程序里(快捷键n)
(gdb)next

本文转自cococo点点博客园博客,原文链接:http://www.cnblogs.com/coder2012/archive/2013/03/27/2984128.html,如需转载请自行联系原作者

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
8月前
|
NoSQL Linux 编译器
GDB符号表概念和在Linux下获取符号表的方法
通过掌握这些关于GDB符号表的知识,你可以更好地管理和理解你的程序,希望这些知识可以帮助你更有效地进行调试工作。
387 16
|
7月前
|
NoSQL Linux 开发工具
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
本文介绍了yum 包管理工具、Vim 编辑器、gcc/g++ 编译器、gdb 调试器、编译原理及 Makefile 的使用,同时还配备了如何使用,以及图解。旨在帮助读者更好地理解和应用这些工具与技术。
394 0
|
NoSQL Linux 编译器
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
如何配置环境并使用QEMU虚拟机结合GDB进行Linux内核代码的断点调试,包括安装QEMU、交叉编译工具链,编译内核以及通过GDB远程连接进行调试的详细步骤。
1507 1
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
|
NoSQL Linux C语言
Linux GDB 调试
Linux GDB 调试
251 10
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
983 3
|
NoSQL Linux C语言
GDB:强大的GNU调试器
GDB:强大的GNU调试器
382 0
|
NoSQL 编译器 Linux
【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用
【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用
394 0
|
NoSQL 搜索推荐 openCL
【C/C++ 调试 GDB指南 】gdb调试基本操作
【C/C++ 调试 GDB指南 】gdb调试基本操作
930 2
|
NoSQL 编译器 C语言
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。高级技巧包括内存检查、性能分析和符号调试。通过实践案例学习如何有效定位和解决问题,同时注意保持耐心、合理利用工具、记录过程并避免过度调试,以提高编程能力和开发效率。
478 1
|
NoSQL
技术分享:如何使用GDB调试不带调试信息的可执行程序
【8月更文挑战第27天】在软件开发和调试过程中,我们有时会遇到需要调试没有调试信息的可执行程序的情况。这可能是由于程序在编译时没有加入调试信息,或者调试信息被剥离了。然而,即使面对这样的挑战,GDB(GNU Debugger)仍然提供了一些方法和技术来帮助我们进行调试。以下将详细介绍如何使用GDB调试不带调试信息的可执行程序。
478 0