GDB调试

这几天在学习linux驱动的有关知识,顺带把调试部分也学一下。下面是我对与gdb调试器使用的一些笔记。
这里给出了一个短小的程序,由此带领读者熟悉 gdb的使用流程。建议读者能够动手实际操作以下。
/*test.c*/ 
#include <stdio.h> 
int sum(int m); 
int main() 

    int i, n = 0; 
    sum(50); 
    for(i = 1; i<= 50; i++) 
    { 
        n += i; 
    } 
    printf("The sum of 1-50 is %d \n", n ); 

int sum(int m) 

    int i, n = 0; 
    for (i = 1; i <= m; i++) 
    { 
        n += i; 
        printf("The sum of 1-m is %d\n", n); 
    } 

在保存退出后首先使用gcc对test.c进行编译,注意一定要加上选项“-g” ,

这样编译出的可执行代码中才包含调试信息,否则之后 gdb无法载入该可执行文件。 
 
[root@localhost gdb]# gcc -g test.c -o test 
 
虽然这段程序没有错误,但调试完全正确的程序可以更加了解 gdb的使用流程。接

下来就启动 gdb 进行调试。注意,gdb 进行调试的是可执行文件,而不是如“.c”的

源代码,因此,需要先通过gcc编译生成可执行文件才能用 gdb进行调试。 

 [root@localhost gdb]# gdb test ......(gdb)

1.查看文件 l

2.设置断点 b + 6(行号)

3.查看断点情况 info b

3.1函数断点 b test.c:sum

3.2条件断点 b 8 if ==10

4.运行代码 r

5.查看变量值 p + n(变量值)

6.单步运行 n(next不进入函数) s(step进入函数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值