[历史归档]本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。
发布时间:2013-12-17| 标题:C语言开发笔记:GDB|分类:编程 / C && C++ |标签:C&&C++·gdb
C语言开发笔记:GDB
- 被测试代码
- DEBUG 步骤
- GDB 常用命令
- 备注
整理 Linux 下使用 GDB 调试 C 程序的常用命令备忘。
被测试代码
#include<stdio.h>intfunc(intn){intsum=0,i;for(i=0;i<n;i++){sum+=i;}returnsum;}intmain(void){inti;intresult=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 步骤
使用 GCC 编译,注意加入-g调试信息参数:
gcc-gtest.c然后用gdb a.out进入调试模式。
GDB 常用命令
| 命令 | 说明 |
|---|---|
help list | 显示命令 list 的帮助 |
l/list | 列出代码 |
b 16/break 16 | 在第 16 行加断点 |
b func/break func | 在函数 func 加断点 |
info break | 列出当前所有断点 |
clear/enable/disable | 断点管理 |
r/run | 开始执行程序 |
n/next | 单步执行 |
c/continue | 继续执行 |
p i/print i | 显示变量 i 的值 |
bt/backtrace | 查看函数堆栈(bt full同时打印局部变量) |
set args | 指定运行参数(如set args 10 20 30) |
q/quit | 退出 GDB |
| 回车 | 重复上一条命令 |
备注
更多系统性的 GDB 资料可参考陈皓的博文:http://blog.csdn.net/haoel/article/details/2879