Linux复习之gdb调试基本指令

本文详细介绍了Linux下gdb调试工具的基本命令,包括列出源代码、执行程序、显示数据、设置和清除断点等关键操作,旨在帮助初学者掌握gdb的使用,有效解决运行时错误和调试大型项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初学者在编辑程序时,往往会出现很多的语法错误,这些错误在编译阶段就会暴露,所以很容易被排除,但是有些错误可能出现在程序运行阶段,需要深入的测试、调试和修改。这就使得在一些大型项目里,程序的调试变的十分困难,这个时候就需要一个高效的调试工具,gdb调试工具就是当前使用最广泛的的调试工具。

gdb调试基本命令

1.文件清单
指令:list/l
作用:列出产生执行文件的源代码的一部分
例如:
list 10 20
作用是列出10到20行之间的代码
list max
作用是输出函数max前后的5行程序源代码、
2.执行程序
指令:run/r
作用:运行准备调试的程序
3.显示数据
指令:print/p
作用:可以显示被调试的语言中任何有效的表达式,包括程序中的变量以及函数的调用。
4.设置和清除断点
指令:break/b
作用:使程序恰好在执行给定行之前停止;使程序恰好在进入指定的函数之前停止。
例如:
break line-number
在指定行处设置断点
break function-name
在指定函数处设置断点

gdb调试的主要步骤以及各个指令的使用:

gcc -g main.c 在目标文件中加入源代码的信息
gdb a.out 将a.out载入
(gdb) start 开始调试
(gdb) n 一条一条执行
(gdb) step/s 执行源程序代码,如果有函数调用,则进入该函数
(gdb) backtrace/bt 查看函数调用栈帧
(gdb) info/i locals 查看当前栈帧局部变量
(gdb) frame/f 选择栈帧,再查看局部变量
(gdb) print/p 打印变量的值
(gdb) finish 运行到当前函数返回
(gdb) set var sum = 0 修改变量的值
(gdb) list/l 列出源码
(gdb) display/undisplay sum 每次停下显示变量的值/取消追踪
(gdb) break/b 行号或者函数名 设置断点
(gdb) continue/c 连续运行
(gdb) info/i breakpoints 查看已经设置的断点
(gdb) delete breakpoints 2 删除某个断点
(gdb) disable/enable breakpoints 3 禁用/启用某个断点
(gdb) break 9 if sum != 0 满足条件才激活断点
(gdb) run/r 重新从程序开头开始运行
(gdb) watch input[4] 设置观察点
(gdb) info/i watchpoints 查看设置的观察点
(gdb) x/7b input 打印储存器内容,其中b表示每个字节组,7表示打印七组
(gdb) disassemble 反汇编当前函数或指定函数
(gdb) info registers 显示所有寄存器的当前值
(gdb) x/20 $esp 查看内存中开始的20个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值