最近在linux上编写了一个小程序,需要学习使用GDB调试,为了防止遗忘,这里备份下GDB的常用命令。
CONTENTS
被测试代码:
#include <stdio.h> int func(int n) { int sum = 0, i; for(i=0; i<n; i++) { sum += i; } return sum; } int main(void) { int i; int result = 0; for(i=1; i<=100; i++) { result += i; } printf("result[1-100] = %d\n", result); printf("result[1-250] = %d\n", func(250)); }
DEBUG步骤:
1)使用GCC编译,注意使用【 -g 】参数加入调试信息。
gcc -g test.c
2)使用【 gdb a.out 】来进入调试模式。
GDB常用命令:
1)help list ==显示命令list的帮助
2)l/list ==列出代码
3)b/break 16 ==在第16行上加断点
4)b/break func ==在函数func上增加断点
5)info break ==列出当前所有断点信息
6)clear/enable/disable ==断点管理
7)r/run ==开始执行程序,如果程序已经执行,会提示是否重新执行
8)n/next ==单步执行程序
9)c/coutinue ==继续执行程序
10)p/print i ==显示变量i的值
11)bt/backtrace ==查看函数堆栈,bt full打印出堆栈和局部变量值
12)set args ==可指定运行时参数。(如:set args 10 20 30 40 50)
13)q/quit ==退出gdb
14)回车 ==重复上个命令
备注:
作者也只是用到了GDB里面非常基础的命令,更多更系统的关于GDB的资料请参考 陈皓 大牛的博文【 http://blog.csdn.net/haoel/article/details/2879 】
发表评论