GDB 调试常用命令 GCC

来源:互联网 发布:php csrf攻击 编辑:程序博客网 时间:2024/06/05 02:16

 

gcc –g –o gets main.c
gdb ./gets                                                      进入GDB调试界面
disassemble main                                     查看main函数的汇编
p /x *0xbffff9b8                                              查看内存0xbffff9b8 的内容
info registers                                                查看寄存器
info break                                                      查看断点列表 
info files                                                        显示被调试文件的详细信息。 
info func                                                        显示所有的函数名称。 
info local                                                       显示当函数中的局部变量信息。 
info prog                                                        显示被调试程序的执行状态。 
info var                                                           显示所有的全局和静态变量名称。
b *0x804850d                                设置断点,多用来设置汇编代码的调试
delete breakpoint 1                                     该命令将会删除编号1的断点,如不带编号参数,将删除所有的断点
p /x $eax                                                        查看寄存器内容$符号,另外还有  $pc : 程序计数器
                                                                                                                                     $fp : 帧指针(当前堆栈帧)
                                                                                                                                     $sp : 栈指针
                                                                                                                                     $ps : 处理器状态
next                                                                不进入的单步执行
step                                                               进入的单步执行
 
 

 

backtrace 显示程序中的当前位置和表示如何到达当前位置的栈跟踪(同义词:where)
breakpoint 在程序中设置一个断点
cd 改变当前工作目录
clear 删除刚才停止处的断点
commands 命中断点时,列出将要执行的命令
continue 从断点开始继续执行
delete 删除一个断点或监测点;也可与其他命令一起使用
display 程序停止时显示变量和表达时
down 下移栈帧,使得另一个函数成为当前函数
frame 选择下一条continue命令的帧
info 显示与该程序有关的各种信息
jump 在源程序中的另一点开始运行
kill 异常终止在gdb 控制下运行的程序
list 列出相应于正在执行的程序的原文件内容
next 执行下一个源程序行,从而执行其整体中的一个函数
print 显示变量或表达式的值
pwd 显示当前工作目录
pype 显示一个数据结构(如一个结构或C++类)的内容
quit 退出gdb
reverse-search 在源文件中反向搜索正规表达式
run 执行该程序
search 在源文件中搜索正规表达式
set variable 给变量赋值
signal 将一个信号发送到正在运行的进程
step 执行下一个源程序行,必要时进入下一个函数
undisplay display命令的反命令,不要显示表达式
until 结束当前循环
up 上移栈帧,使另一函数成为当前函数
watch 在程序中设置一个监测点(即数据断点)
whatis 显示变量或函数类型