预处理
gcc -E -o a.cxx a.c 将a.c进行预处理 之后将信息保存到a.cxx
生成汇编代码
gcc -S -o a.s a.c 将汇编信息存储到a.s上
生成目标代码
gcc -c -o a.o a.c 生成目标代码 a.o
连接可执行文件
gcc a.o -o aa.out 生成可执行文件aa.out
添加调试信息
gcc -g -o a.debug a.c a.debug 中加入了调试信息的可执行程序
启动gdb
终端中输入 gdb
加载程序
file a.debug # 以上两步合并 gdb a.debug
#gdb -d 添加一个源文件的搜索路径 默认是环境变量中所定义的路径
显示程序代码信息
list
加入断点
break 6 # 在第6行加入断点
断点信息
info break
删除断点
clear #删除刚才停止出的断点
delete 断点号 #删除对应断点号的断点
运行程序
r(run)
运行下一步
n(next)
进入函数内部
s(step)
运行到下一个断点
c(continue)
变量查看
p 变量名 (print)
给变量赋值
set variable #没试过
查看当前函数中的局部变量信息
info local
显示所有全局和静态变量的名称
info var
在源文件中搜索正则表达式
search
退出函数
finish
退出gdb
q(quit)