linux GDB调试记录

1.如何进入gdb

编译时,需要有相应的参数设置
cmakelists中的设置如下:

SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")

或者是在编译生成可执行文件的时候:

gcc -g xxx.c -o xxx.o

得到相应的可执行文件后,在终端运行

gdb xxx.o

2.进一步调试

进入gdb模式后,终端会变成下面这样子以及一些常用指令

 (gdb) 
 (gdb)set args a b c //设置运行参数
 (gdb)r              //运行程序
 (gdb)l              //查看10行代码,每次l一次显示10行
 (gdb)break 16       //在第16行设置断点
 (gdb)break 16 if n==9  //在一定条件下执行断点,n是代码里的变量
 (gdb)info breakpoints //查看所有断点信息
 (gdb)disable 16      //暂时不执行16行处断点,但是该断点还在
 (gdb)clear 16         //去除断点
 (gdb)delete           //删除所有断点
 (gdb)continue    //继续运行
 (gdb)next      //继续执行下一条语句,不进入func函数
 (gdb)step      //继续执行下一条,但是会进入函数内部
 (gdb)print n    //打印变量n
 (gdb)finish     //结束本次执行
 (gdb)q      //退出gdb
 (gdb)bt     //!!代码报错停止时,可以用这个查看调用关系以及出错位置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值