gdb调试器

目的:
对编译好的程序进行调试工作,主要功能:
1、启动被调试程序;
2、让被调试程序在指定位置停住;
3、当程序停住时,可检查程序状态(如变量值)。

步骤:
1、编译生成可执行文件:
gcc -g test.c -o test

2、启动gdb: gdb test
3、设置断点
4、运行程序:run
5、单步运行:next
6、继续运行:continue

说明:
当运行gdb hello.c,运行(r)时,如果提示需要debuginfo包,这是需要
安装glibc-debuginfo和glibc-debuginfo-common包。
在centos6.5上,需要的包为glibc-debuginfo-2.12-1.132.el6.x86_64.rpm、
glibc-debuginfo-common-2.12-1.132.el6.x86_64.rpm。
安装后,再次运行gdb,将顺利进行。

gdb命令:
l(list) 查看程序
b(break) 函数名 在某函数入口处设断点
b(break) 行号 在指定行号添加断点
b(break) 文件名:行号 在指定文件的指定行号添加断点
b(break) 行号 if 条件 当条件为真时,指定行号处断点生效

info b 查看所有设置的断点
delete 断点编号 删除断点
r(run) 开始运行程序
n(next) 单步运程序(不进入子函数)
s(step) 单步运程序(进入子函数)
c(continue) 继续运行程序

p(print)变量名 查看指定变量值
finish 运行程序,知道当前函数结束
watch 变量名 对指定变量进行监控
q(quit) 退出gdb

时间: 2024-11-05 22:58:44

gdb调试器的相关文章

GCC编译器和GDB调试器常用选项

http://blog.csdn.net/u014328976/article/details/46745349 GCC编译器 gcc hello.c -o hello                   #将hello.c编译成hello可执行文件 gcc -E hello.c -o hello.i              #将hello.c 转换成预处理后的文件hello.igcc -S hello.c -o hello.S              #将hello.c 转换成汇编文件 h

linux基础2——gdb调试器

gdb调试器使用的一般步骤(不断更新完善): 1.编译过程中要用-g参数来添加调试符号——gcc test.c -g: 2.gdb启动可执行文件——gdb a.out: 3.出现gdb符号表示启动成功: 4." l " (小写l)命令可以查看当前代码是否是要执行的代码: 5.断点 b 行号/函数名字——作用是程序执行过程中会自动在断点处暂停,等待指令 info b—— 查看断点列表 d 编号——删除指定编号的断点 6.执行程序 r 回车——程序启动,执行到代码中第一个出现断点处暂停 7

使用GDB调试器(一)

使用GDB调试器 GDB概要---- GDB是GNU开源组织公布的一个强大的UNIX下的程序调试工具.也许,各位比較喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但假设你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓"寸有所长.尺有所短"就是这个道理. 一般来说.GDB主要帮忙你完毕以下四个方面的功能: 1.启动你的程序,能够依照你的自己定义的要求随心所欲的执行程序.    2.可让被调试的程序在你所指定的调置的断点处停住.

GDB调试器的使用

http://blog.chinaunix.net/uid-23193900-id-3184605.html 1.什么是程序的调试? 程序调试的目的就是找出程序中隐藏的故障,校正那些不正常的指令,使程序能够正常工作. 2.调试的类别 程序的调试有几种不同的级别.最高级别当然是编程人员通过自己肉眼观察和推断,找出那些有毛病的代码并修改之.最低级别是对汇编代码进行调试.由于汇编语言代码的复杂.冗长与不直观.在汇编级对程序进行调试是一件比较费力的事. 使用得最多的大概还是源程序级即符号级的调试,在此种

Linux gdb调试器用法全面解析

GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序. 让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式. 当程序被停住时,可以检查此时程序中所发生的事,并追索上文. 动态地改变程序的执行环境. 不管是调试Linux内核空间的驱动还是调试用户空间的应用程序,掌握gdb的用法都是必须.而且,调试内核和调试应用程序时使用的gdb命令是完全相同的,下面以代码清单22.2的应用程

GDB 调试器使用手冊

使用GDB: 本文描写叙述GDB,GNU的原代码调试器. (这是4.12版1994年一月.GDB版本号4.16) * 文件夹: * 摘要: GDB的摘要 * 实例: 一个使用实例 * 入门: 进入和退出GDB * 命令: GDB 的命令 * 运行: 在GDB下运行程序 * 停止: 暂停和继续运行 * 栈: 检查堆栈 * 原文件: 检查原文件 * 数据: 检查数据 * 语言: 用不同的语言来使用GDB * 符号: 检查符号表 * 更改: 更改运行 * GDB的文件 文件 * 对象 指定调试对象 *

@清晰掉 GDB调试器中的战斗机

GDB 的命令很多,本文不会全部介绍,仅会介绍一些最常用的.在介绍之前,先介绍GDB中的一个非常有用的功能:补齐功能.它就如同Linux下SHELL中的命令补齐一样.当你输入一个命令的前几个字符,然后输入TAB键,如果没有其它命令的前几个字符与此相同,SHELL将补齐此命令.如果有其它命令的前几个字符与此相同,你会听到一声警告声,再输入TAB键,SHELL将所有前几个字符与此相同的命令全部列出.而GDB中的补齐功能不仅能补齐GDB命令,而且能补齐参数. 本文将先介绍常用的命令,然后结合一个具体的

GDB 调试器使用手册

使用GDB: 本文描述GDB,GNU的原代码调试器.(这是4.12版1994年一月,GDB版本4.16) * 目录: * 摘要: GDB的摘要 * 实例: 一个使用实例 * 入门: 进入和退出GDB * 命令: GDB 的命令 * 运行: 在GDB下运行程序 * 停止: 暂停和继续执行 * 栈: 检查堆栈 * 原文件: 检查原文件 * 数据: 检查数据 * 语言: 用不同的语言来使用GDB * 符号: 检查符号表 * 更改: 更改执行 * GDB的文件 文件 * 对象 指定调试对象 * 控制GD

Window下 Qt Creator 安装+Qt4.8.5+MinGW编译器+GDB调试器

为了便于与嵌入式linux系统的QT编译环境系统相匹配,我们使用了QT4.8.5的编译环境.你也可以使用其他版本的软件,QT4大致的安装步骤都是一样的,可以参考. 本搭建环境在window 32/64皆可使用.有以下四个文件,可以在网上直接搜到,这里就不提供下载地址了. 如图所示共有四个文件 其中两个exe文件是需要安装的. 安装步骤如下: 1) 将两个压缩文件直接解压到当前文件夹,MinGW-gcc440_1.zip , qtcreator-gdb-7.4-MINGW32_NT-6.1-i68

工具篇之GDB调试器用法

GDB 完成的作用: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序 让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式 当程序被停住时,可以检查此时程序中所发生的事,并追索上文 动态改变程序的运行环境 常见问题: 如何打印变量的值?(print var) 如何打印变量的地址?(print &var) 如何打印地址的数据值?(print *address) 如何查看当前运行的文件和行?(backtrace) 如何查看指定文件的代码?(list file:N) 如何立即执行完当前