GDB 常用的调试命令概览

GDB 常用命令列表

命令名称

命令缩写

命令说明

run

r

运行一个程序

continue

c

让暂停的程序继续运行

next

n

运行到下一行

step

s

如果有调用函数,进入调用的函数内部,相当于 step into

until

u

运行到指定行停下来

finish

fi

结束当前调用函数,到上一层函数调用处

return

return

结束当前调用函数并返回指定值,到上一层函数调用处

jump

j

将当前程序执行流跳转到指定行或地址

print

p

打印变量或寄存器值

backtrace

bt

查看当前线程的调用堆栈

frame

f

切换到当前调用线程的指定堆栈,具体堆栈通过堆栈序号指定

thread

thread

切换到指定线程

break

b

添加断点

tbreak

tb

添加临时断点

delete

del

删除断点

enable

enable

启用某个断点

disable

disable

禁用某个断点

watch

watch

监视某一个变量或内存地址的值是否发生变化

list

l

显示源码

info

info

查看断点 / 线程等信息

ptype

ptype

查看变量类型

disassemble

dis

查看汇编代码

set args

设置程序启动命令行参数

show args

查看设置的命令行参数

扩充:

gcc 常用选项

选项

选项说明

-v

查看gcc版本号

-I (大写 i )

指定头文件目录,注意-I和目录之间没有空格

-c

只编译,生成.o文件,不进行链接

-o

输出成指定文件名

-g

包含调试信息

-On

n=0∼3 编译优化,n越大优化得越多

-Wall

提示更多警告信息

-E

生成预处理文件

-M

生成.c文件与头文件依赖关系以用于Makefile,包括系统库的头文件

-MM

生成.c文件与头文件依赖关系以用于Makefile,不包括系统库的头文件

-wl,option

该选项把 option 传递给 linker,option选项用逗号分割

-S

只编译,不汇编

-D

编译时定义宏

-w

忽略所有警告

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

一旧的学习记录

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券