Chinaunix首页 | 论坛 | 博客
  • 博客访问: 124691
  • 博文数量: 30
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2015-12-14 10:05
个人简介

坚持学习,每天进步一点点……

文章分类

全部博文(30)

文章存档

2017年(13)

2016年(17)

分类: C/C++

2017-07-09 13:32:12

gdb常用的命令:
file:装入想要调试的可执行文件。
kill:终止当前正在调试的程序。
run:运行程序。
list:打印程序源码。
quit:退出gdb。
watch:监视一个变量的值。
break:在代码中设置断点,程序运行到这里会被挂起。
make:不离开gdb而重新产生可执行文件
next:执行下一行代码,但不进入函数内部。
step:执行下一行代码,进入函数内部。
shell:不离开gdb而执行shell。
例如:对devin_test这个程序进行调试:

1.查看source code(不包括头文件):

2.查看程序运行结果:

3.添加断点并进行调试:
断点的设置可以是行号也可以是函数名称。例如在函数add处添加断点。

4.观察变量值的变化:

其它的就先不试验了。附 source code

点击(此处)折叠或打开

  1. #ifndef TEST_C_INCLUDED
  2. #define TEST_C_INCLUDED
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6. typedef struct {
  7.     int a;
  8.     char b;
  9. };
  10. int add(int a,int b);
  11. int sur(int a,int b);

  12. int main(int argc,char* argv[])
  13. {
  14.     int a = 3;
  15.     int b = 4;
  16.     int sum = 0;
  17.     printf("add=%d\n",add(a,b));
  18.     sum = add(a,b);
  19.     printf("sur=%d\n",sur(a,b));
  20.     sum = sur(a,b);
  21.     return 0;
  22. }
  23. int add(int a,int b)
  24. {
  25.     return a+b;
  26. }
  27. int sur(int a,int b)
  28. {
  29.     return a-b;
  30. }
  31. #endif // TEST_C_INCLUDED

阅读(1478) | 评论(0) | 转发(0) |
0

上一篇:BLE设备地址

下一篇:gdb调试工具初探

给主人留下些什么吧!~~