一 写在开头
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 | 显示变量或表达式的值 | |
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
四 参考资料
1. 算法竞赛入门经典
来源: http://www.bubuko.com/infodetail-2685807.html