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 | 显示变量或表达式的值 | |
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. 《算法竞赛入门经典》
相关文章推荐
- gdb调试技巧总结
- iOS 崩溃调试的使用和技巧总结
- gdb调试用法总结
- ubuntu gdb调试第一次实验总结
- GDB调试命令总结
- Visual C++开发工具与调试技巧全面总结
- 反调试技巧总结-原理和实现
- iOS开发调试技巧总结(持续更新中)
- GDB调试使用技巧 - 专职C++ - C++博客
- 反调试技巧总结-原理和实现
- GDB 调试经验总结
- 详解Intellij IDEA 2017 debug断点调试技巧(总结)
- 《软件调试的艺术》学习笔记——GDB使用技巧摘要(4)——Pthread线程调试
- gdb调试基本技巧
- linux之gdb调试常用100个技巧
- iOS开发之Xcode常用调试技巧总结
- 调试的艺术——Debug技巧总结
- 实用技巧:Gdbserver远程调试的具…
- [原创]反调试技巧总结-原理和实现(1)(2)(3)(4)(5)(6)......
- gdb调试c++常用技巧