1.查看源程序
list
l
list/l列出当前行附近的代码,可以使用参数指定当前行,以及指定一个范围,如l 10,l 10,20
2.运行程序的命令
运行调试的程序时,使用
run
r
命令,run后面可以跟发给这个程序的任何参数,包括输入输出重定向,文件通配符等。以及传递给main函数的参数,当运行了带参数的run之后,再次运行时就会使用以前的参数,可以使用show args和set args来查看和设置。
当gdb没有载入可执行文件时,可以使用file program_name来单独加载。
3.断点操作
在指定行设置断点
break / b [line_number]
在指定函数处设置断点
break / b [funciton]
设置条件断点
break /b [line_number | fucntion] if expression
condition 2 if expressions 将原来的断点2设置为条件断点。
在指定文件中设置断点
break / b [file:line_number | file:function]
显示当前断点信息
info breakpoints / b
删除断点number
delete /d breakpoints /b number
清除断点
clear line_number | fucntion | *address 清除指定行、函数、地址的断点
4.观察点
watch <expression> 为表达式设置观察点,当表达式的值改变后程序会停止,观察点和断点用户几乎一模一样。
5.查看运行时数据
查看变量
print / p var_name
查看其它文件中的变量
print /p file::var_name
print /p funciton::var_name
调用程序中的函数
print /p function(argu...)
这样不用运行函数就可以知道函数运行的结果是否异常。
查看数组的值
printf array
printf *array@len len是上下文中的一个指明长度的变量,或
是你指定的值,如5,这从*array开始查看连续5个同类型的内
存单元的值,和x指令一样的效果。
输出格式
和x指令一样,p指令也支持输出格式,如
p /d array
自动显示变量
可以设置程序中的一些变量在但不执行或断点后自动显示变量的值,使用的命令是display
display /fmt expression
GDB完全使用指南(1)
最新推荐文章于 2024-05-31 19:49:28 发布