gdb 调试工具
gdb 概述
gdb , GNU Debugger ,用于在 linux 上 调试 c/c++ 程序,
参考:
ububtu gdb 指南
------
程序的编译
用 gcc 编译时,应加上 -g 参数,以让编译出的文件支持 gdb 调试,
格式:
gcc -g source_file
------
进入 gdb
gdb file 进入 gdb 程序,对 file 进行调试,
------
gdb 下的 命令
* 程序显示
l , list
显示程序,继续向后显示,
l i , list i
显示 i 行 周围的程序,包括 上下各几行,
l 1
从第1行 开始显示程序,
l - fun_name
显示 函数的程序,
l -
向前显示程序,
l +
向后显示程序,同 l
show listsize
显示1次默认显示几行
set listsize i
设置默认显示 i 行,
* 断点
b i , break i
设置 i 行为断点
b fun_name , break fun_name
设置 函数 的入口为断点,
info b,info break
列出断点,第1列为断点编号
d i , delete i
删除 编号为 i 的 断点,
* 程序 调试 运行
r , run
运行程序
n , next
单步执行
c , continue
运行,直到下一个断点,或程序结束
s , step
单步进入,如果有函数调用,则进入该函数,
finish
跳出当前函数,返回上级函数,如果当前就是最外层函数则无效,
* 查看变量
p var_name
显示 变量值
p *array_name@len
显示 数组的值,len 等于数组的长度,可以指定其他值,如 len-1,2,
因为 *array_name 取得了 数组的首地址,数组内存是连续的,因此指定一个长度后,就可以取出连续的值,
例子:
p *arr@len 打印整个数组
p *arr@len-1 打印数组,不包含最后1个值,
p *arr@2 打印数组的前2个元素
info locals
列出 当前函数中,所有局部变量的值
info args
列出 当前函数中,所有参数的值
info catch
列出 当前函数中,异常处理信息
x , examine
显示 指定内存地址中的值
* 自动显示
display var_name
设置自动显示的 变量 或 内存地址的值,当程序停住时这些值就被自动显示,
display
显示 被自动显示的 列表,其中第1列时编号
undisplay i
根据编号取消 自动显示
* 观察点
watch exp
添加 观察点 - 值写入,当表达式 exp 的值写入时,停止程序,
rwatch exp
添加 观察点 - 值读取,当表达式 exp 的值被读取时,停止程序,
awatch exp
添加 观察点 - 读写,当表达式 exp 的值被 读 或 写 时,停止程序,
info watchpoints
显示所有的 观察点,其中第1列是编号,
delete watchpoint i
删除指定编号的 观察点,
* 函数堆栈
bt , backtrace
显示函数的调用堆栈,
f i, frame i
显示第 i 层栈的信息,i=0 表示栈顶,
up , up i
显示向上 1 或 i 层 栈的信息,
down , down i
显示向下 1 或 i 层 栈的信息,
info f,info frame
显示当先栈中更多的信息,
* 程序跳转
u , until
跳出循环体,
jump i
强制 跳转到第 i 行执行
return
强制 结束当前函数
call fun_name
强制 调用函数
* 退出 gdb
q
退出 gdb
* 历史命令
回车
重复 上次的命令
* 搜索
search xxx
搜索
* 寄存器
info registers
查看寄存器
* 其他
show language
显示当前程序的 语言
*
------
分享到:
相关推荐
《gdb调试工具使用手册》 GDB,全称GNU Debugger,是Unix及类Unix操作系统上广泛使用的C和C++程序的调试工具。它为开发者提供了丰富的功能,帮助他们跟踪和理解程序的运行过程,定位并修复代码中的错误。本文将深入...
《GDB调试工具指南》深度解析 一、GDB概览 GDB(GNU调试器)是GNU项目的一部分,是一款广泛使用的开源调试工具,适用于多种操作系统和编程语言,包括C、C++等。它允许开发者在程序运行时进行调试,包括设置断点、...
### Linux下gdb调试工具指南:深入解析与实践 #### 引言 在软件开发领域,尤其是对于系统级编程和复杂应用的维护,一个高效、功能全面的调试工具是不可或缺的。GNU调试器(GDB)正是这样一款强大的调试工具,它...
以下是对GDB调试工具的详细讲解。 1. **GDB安装** 在大多数Linux发行版中,可以通过包管理器如`apt`或`yum`来安装GDB。例如,在Ubuntu上可以使用`sudo apt-get install gdb`,在CentOS/RHEL上使用`sudo yum ...
### GDB调试工具指南 #### 一、GDB概述与基本使用 GDB(GNU调试器)是一款功能强大的源码级程序调试工具,主要用于Linux环境下C/C++等语言的程序调试。它允许开发者在程序执行过程中设置断点、单步执行、查看变量...
《gdb调试工具》是针对程序员和系统管理员的宝贵资源,它主要涵盖了两种经典书籍——"Debug with gdb"和"GDB完全手册"的核心内容。这两本书深入浅出地讲解了如何利用GDB(GNU Debugger)这个强大的开源调试器来解决...
《GDB调试程序[陈皓]》与《GDB调试工具指南》这两份PDF文档,是深入了解和精通GDB(GNU Debugger)这一强大调试工具的重要参考资料。GDB是开源世界中广泛使用的C、C++以及其他多种语言的调试器,它允许开发者在运行...
### gdb调试工具详解 #### GDB概述与优势 GDB,全称为GNU Debugger,是由GNU开源组织发布的强大调试工具,专为Unix系统设计,但在包括Linux在内的多种操作系统中都有广泛应用。GDB之所以受到青睐,主要归功于其...
《gdb调试工具指南》是一本深入探讨gdb这一强大调试工具的专业教程。gdb,全称GNU Debugger,是开源社区GNU项目的一部分,主要用于C、C++、Fortran、Objective-C、Pascal等多种编程语言的程序调试。它提供了一整套...
《GDB调试工具详解》 GDB(GNU Debugger)是GNU项目的一部分,是一个强大的源代码级调试器,广泛应用于Linux和其他Unix-like操作系统中。对于软件开发者来说,GDB是理解和解决程序错误的重要工具,它允许程序员在...
gdb 调试器的使用方法 怎么打断点 怎么读取寄存器 变量 内存的值得方法
### GDB调试工具详解 #### 一、GDB概述与特点 GDB,全称GNU Debugger,是由GNU项目开发的一款强大且广泛使用的调试工具。它主要用于UNIX类操作系统下的程序调试,包括Linux、BSD等。GDB的核心优势在于其命令行接口...
该资源对GDB调试工具进行了详细的介绍,对于新手,当看完整篇文档后,将对GDB调试工具有完整的认识和大致的操作熟练度
### Linux下gdb调试工具的详细介绍 #### 一、gdb简介 GNU调试器(gdb)是一款功能强大的源代码级调试工具,适用于多种编程语言,包括C、C++等。gdb允许开发者在程序执行过程中设置断点、单步执行、查看变量值以及...
在标题提到的"opwrt gdb调试工具.zip"中,包含了用于在OpenWrt环境下调试MIPS架构应用程序的必备组件。MIPS(Microprocessor without Interlocked Pipeline Stages)是一种常见的嵌入式处理器架构,广泛应用于各种...
### GDB调试工具指南 #### 一、准备工作 在开始使用GDB进行调试之前,我们需要做好一系列的准备工作。首先确保已经安装了GDB工具。对于大多数Linux发行版来说,GDB通常已经预装好了;如果没有安装,可以通过包管理...
### MIPS平台上移植和使用GDB调试工具 #### 一、前言 在嵌入式开发领域,特别是针对特定架构如MIPS(Microprocessor without Interlocked Pipeline Stages)平台的开发过程中,有效地使用调试工具对于提高软件质量...