最近在学习Linux嵌入式操作系统,将学习笔记以博客的形式记录,以便以后自己查看,也便与其他的学习者交流与指正。
以下是我学习的资源链接
国嵌共享版视频下载地址:http://www.enjoylinux.cn
GDB程序调试
功能:
1. 启动被调试的程序
2.让被调试的程序在制定位置停住
3.当程序被停住时,可以检查程序状态(如变量值…)
GDB调试程序的一般流程
1. 编写程序(tst.c)
2. 编译生成可执行文件
命令:gcc -g tst.c -o tst
(注:如需启动GDB调试程序,需在调试时添加 -g)
3. 启动GDB
命令:gdb tst
4. 设置断点
5. 命令:break main
6. 运行程序
命令:run
7. 利用更加丰富的gdb命令对程序进行调试
命令(快捷指令) ——命令简介
list(l) ——查看程序
break(b) 函数名 ——在某函数入口处添加断点
break(b) 行号 ——在指定行添加断点
break(b) 文件名:行号 ——在指定文件的指定行添加断点
info break ——查看所有设置的断点
delete 断点编号 ——删除断点
next(n) ——单步运行程序(不进入子函数)
step(s) ——单步运行程序(进入子函数)
continue(c) ——继续运行程序
print(p) 变量名 ——查看指定变量值
set var=value ——设置变量值
quit(q) ——退出gdb
测试示例:
#include <stdio.h>
void myprint(int res)
{
printf("result is %d",res);
}
int main()
{
int i = 0;
int result = 0;
for(i=0;i<100;i++)
result++;
myprint(result);
}