gdb入门教程

参考:GDB Command Reference - Index pagehttps://visualgdb.com/gdbreference/commands/

gdb常用命令:
1、打开gdb

        启动gdb的方法有以下几种:
        1) gdb <program>
        program也就是执行文件,一般在当前目录下。
        2) gdb <program> core
        用gdb同时调试一个运行程序和core文件,core是程序非法执行后,core dump后产生的文件。
        3) gdb <program> <PID>
        如果程序是一个服务程序,那么可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试它。program应该在PATH环境变量中搜索得到。
        4)gdb
        也可以无参数直接运行gdb,后面再attach进程或打开文件等

2、常用命令:

file [filename]装入想要调试的可执行文件
kill [filename]终止正在调试的程序
break [file:]function在(file文件的)function函数中设置一个断点
clear删除一个断点,这个命令需要指定代码行或者函数名作为参数
run [arglist]运行您的程序 (如果指定了arglist,则将arglist作为参数运行程序)
bt Backtrace显示程序堆栈信息
print打印表达式的值
continue继续运行您的程序 (在停止之后,比如在一个断点之后)
list列出产生执行文件的源代码的一部分
next单步执行 (在停止之后); 跳过函数调用
nexti执行下一行的源代码中的一条汇编指令
set设置变量的值。例如:set nval=54 将把54保存到nval变量中
step单步执行 (在停止之后); 进入函数调用
stepi继续执行程序下一行源代码中的汇编指令。如果是函数调用,这个命令将进入函数的内部,单步执行函数中的汇编代码
watch使你能监视一个变量的值而不管它何时被改变
rwatch指定一个变量,如果这个变量被读,则暂停程序运行,在调试器中显示信息,并等待下一个调试命令。参考rwatch和watch命令
awatch指定一个变量,如果这个变量被读或者被写,则暂停程序运行,在调试器中显示信息,并等待下一个调试命令。参考rwatch和watch命令
disable禁止断点功能,这个命令需要禁止的断点在断点列表索引值作为参数
display在断点的停止的地方,显示指定的表达式的值。(显示变量)
undisplay删除一个display设置的变量显示。这个命令需要将display list中的索引做参数
enable允许断点功能,这个命令需要允许的断点在断点列表索引值作为参数
finish继续执行,直到当前函数返回
ignore忽略某个断点制定的次数。例:ignore 4 23 忽略断点4的23次运行,在第24次的时候中断
info [name]查看name信息
load动态载入一个可执行文件到调试器
xbreak在当前函数的退出的点上设置一个断点
whatis显示变量的值和类型
ptype显示变量的类型
return强制从当前函数返回
txbreak在当前函数的退出的点上设置一个临时的断点(只可使用一次)
make使你能不退出 gdb 就可以重新产生可执行文件
shell使你能不离开 gdb 就执行 UNIX shell 命令
quit退出gdb.

GDB使用手册 GDB调试器使用手册(一) ................................................................................................. 1 使用GDB: ........................................................................................................................ 1 GDB简介 ......................................................................................................................... 3 GDB的作者 ..................................................................................................................... 3 GDB调试器使用手册(二) ................................................................................................. 4 GDB调试器使用手册(三) ................................................................................................. 9 运行GDB(一些详细的说明) ........................................................................................... 9 谈谈模式的设置............................................................................................................. 11 GDB调试器使用手册(四) ............................................................................................... 12 退出gdb ......................................................................................................................... 12 Shell 命令 ....................................................................................................................... 12 GDB 命令 ...................................................................................................................... 12 Command语法 ............................................................................................................... 13 GDB调试器使用手册(五) ............................................................................................... 13 输入命令的技巧............................................................................................................. 13 GDB调试器使用手册(六-1) ............................................................................................ 14 得到帮助 ........................................................................................................................ 14 在gdb下运行你的程序 ................................................................................................. 16 GDB调试器使用手册(六-2)程序环境 ............................................................................ 19 工作路径 ........................................................................................................................ 19 你程序的输入/输出 ....................................................................................................... 20 调试一个已经运行的程序: ......................................................................................... 20 GDB调试器使用手册(七) ............................................................................................... 21 结束子进程 .................................................................................................................... 21 附加的进程信息............................................................................................................. 21 对多线程程序的调试 ..................................................................................................... 22 调试多进程的程序 ......................................................................................................... 23 停止和继续 .................................................................................................................... 24 断点,观察点和异常 ..................................................................................................... 24 DB调试器使用手册(八) ............................................................................................... 25 设置断点 ........................................................................................................................ 25 设置观察点 .................................................................................................................... 27 断点和异常 .................................................................................................................... 28 DB调试器使用手册(九) ............................................................................................... 29 断点条件 ........................................................................................................................ 29 断点命令列表................................................................................................................. 31 断点菜单 ........................................................................................................................ 32
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值