您的位置:首页 > 其它

GDB调试技巧:总结篇

2018-07-15 09:51 288 查看

一 写在开头

1.1 本文内容

总结GDB调试的一些常用命令和调试技巧。不定期更新。

 

二 常用命令

GDB和VIM一样,功能异常强大,但要熟练掌握它却很需要费时间。不过,尽管它们两个的命令多如牛毛,但只要掌握最常用的那几个命令就可以快速上手。下面的列表总结了GDB最常用的几个命令。

简写 全称 备注
l list 显示指定行号或者指定函数附近的源代码
b break 在指定行号或者指定函数开头处设置断点。如b main
r run 运行程序,直到程序结束或者遇到断点而停下
c continue 在程序中断后继续执行程序,直到程序结束或者遇到断点而停下。注意在程序开始执行前只能用r,不能用c
n next 执行一条语句。如果有函数调用,则把它作为一个整体
s step 执行一条语句。如果有函数调用,则进入函数内部
u until 执行到指定行号或者指定函数的开头
p print 显示变量或表达式的值
disp display 把一个表达式设置为display,当程序每次停下来时都会显示其值
cl clear 取消断点,和b的格式相同。如果该位置有多个断点,将同时取消
i info 显示各种信息。如i b显示所有断点,i disp显示display,而i lo显示所有局部变量
h help 获取帮助信息

 

三 调试技巧

按需学习是王道!

1. 打印数组中的值

打印数组array的前6个值:p *array@6 

打印数组array的第6个元素开始的后4个值:p *(array + 5)@4

 

2. 同时打印多个变量的值

比如程序中有条赋值语句为scanf("%d %d %d %d", &n, &m, &r, &c),那么可以使用如下语句同时打印这四个变量赋值后的值

(gdb) p {n, m, r, c}
$3 = {3, 5, 2, 3}

 

四 参考资料

1. 《算法竞赛入门经典》

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: