加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

GDB操作基本命令

发布时间:2020-12-15 23:20:47 所属栏目:安全 来源:网络整理
导读:GDB操作基本命令 1 打开文件及退出操作 shell下输入 gdb filename : 打开单个文件 gdb filename -q: 打开单个文件,屏蔽掉GDB自带的说明信息 gdb下输入quit(q),退出调试 2 gdb命令 命令 缩写 解释 file filename ? gdb下打开文件 list l 显示代码,默认

GDB操作基本命令

1 打开文件及退出操作

  shell下输入  gdb filename : 打开单个文件

  gdb filename -q: 打开单个文件,屏蔽掉GDB自带的说明信息

  gdb下输入quit(q),退出调试

2 gdb命令

命令 缩写 解释
file filename ? gdb下打开文件
list   l

显示代码,默认显示10行。输入Enter显示下10行

list可以加入其他参数,如:

list 5,10?? 显示第5行到第10行的代码;

list func?? 显示func函数周围的代码,显示范围和list参数有关;

list test.c:5,10? 显示源文件test.c第5行到第10行的代码,

一般用于调试含多个源文件的程序。

shell  clear ? ?清空shell,清屏
?break linenumber/funname b

?break 6 : 在第6行打上断点,或者在函数上打断点

条件断点:

break 6 if n == 0,当变量n==0时,触发断点

?info  i

info breakpoints(i b): 显示所有断点

info source 查看当前程序

info stack 查看堆栈信息

info args 查看当前参数值

info reg 输出所有寄存器的当前值

info frame 输出栈帧的使用情况

info b n  其中 n 为指定的断点号,显示指定断点的状态信息,不加参数 n 时,会显示所有的断点的信息

disable breaknumber ? disable 1 :使得 断点1无法被触发
clear  breaknumber  ? clear 1 :删除N行断点
delete? breaknumber ? ?删除N号断点,默认删除所有断点
run   ?r ?执行程序
next ?n 下一条语句,不会进入函数
continue ?c ?继续执行
step ?s ?步进,会进入函数体
print 变量名或表达式 ? 打印该变量或者该表达式的值?
whatis  变量名或者表达式 ? ?显示该变量或表达式的数据类型
set  variable 变量=值 ? ?给对应的变量赋值
watch variable ? ?设置观察变量,变量值发生改变时将触发
finish ? ?跳出当前的函数

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读