gdb常用调试命令入门

cc -g tst.c -o tst <---------- 编译生成可执行文件
gdb tst <---------- 启动GDB
(gdb) l <-------------------- l命令相当于list,从第一行开始例出原码
(gdb) l <-------------------- l命令相当于list,从第一行开始例出原码。
(gdb) break 16 <-------------------- 设置断点,在源程序第16行处。
(gdb) info break <-------------------- 查看断点信息。
(gdb) r <--------------------- 运行程序,run命令简写
(gdb) n <--------------------- 单条语句执行,next命令简写。
(gdb) c <--------------------- 继续运行程序,continue命令简写。
(gdb) p i <--------------------- 打印变量i的值,print命令简写。
(gdb) bt <--------------------- 查看函数堆栈。
(gdb) finish <--------------------- 退出函数。
(gdb) q <--------------------- 退出gdb。

  • delete :清除断点或自动显示的表达式。使用格式: delete 断点号

  • disable :让指定断点失效。使用格式: disable 断点号 (断点号之间用空格间隔开)

  • enable :和disable相反,恢复失效的断点。使用格式:enable 断点编号列表

  • ignore :忽略断点。使用格式: ignore 断点号 忽略次数

  • condition :设置断点在一定条件下才能生效。使用格式:condition 断点号 条件表达式

  • cont/continue :使程序在暂停在断点之后继续运行。使用格式:
    cont 跳过当前断点继续运行。
    cont n 跳过n次断点,继续运行。
    当n为1时,cont 1即为cont。

  • jump :让程序跳到指定行开始调试。使用格式:jump 行号

  • next :继续执行语句,但是跳过子程序的调用。使用格式:next 执行一条语句, next n 执行 n条语句

  • nexti :单步执行语句,但和next不同的是,它会跟踪到子程序的内部,但不打印出子程序内部的语句。使用格式同上。

  • step :与next类似,但是它会跟踪到子程序的内部,而且会显示子程序内部的执行情况。使用格式同上。

  • stepi :与step类似,但是比step更详细,是nexti和step的结合。使用格式同上。

  • print :打印变量或表达式的值。使用格式:print 变量或表达式
    表达式中有两个符号有特殊含义:$和$$。
    表示给定序号的前一个序号,表示给定序号的前两个序号。如果 和 和 $后面不带数字,则给定序号为当前序号。

  • backtrace :打印指定个数的栈帧(stack frame)。使用格式:backtrace 栈帧个数

  • frame :打印栈帧。使用格式:frame 栈帧号

  • info frame :显示当前栈帧的详细信息。

  • select-frame :选择栈帧,选择后可以用info frame来显示栈帧信息。使用格式:select-frame 栈帧号

  • kill :结束当前程序的调试。

  • quit :退出gdb。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值