GDB是GNU发布的一款功能强大的程序调试工具 GDB主要完成三个方面的功能:

1.启动呗调试程序

2.让被调试的程序在指定的位置停住

3.当程序被停住时,可以查看程序的运行状态。


例:

1.编译生成可执行文件:

gcc -g hello.c -o hello

2.启动GDB

gdb hello

3.在main函数出设置断点

break main

4.运行程序

run


GDB常用命令

gdb hello启动GDB
file hello载入文件名
list(l)
查看程序
break(b)函数名在函数入口处添加断点
break(b)行号

在指定行添加断点

break(b)文件名:行号在指定文件的指定行添加断点
break(b)行号if条件当条件为真时,指定行号处断点生效
info break 查看所有设置的断点
delete断点编号删除断点
run(r)开始运行程序
next(n)
单步运行程序(不进入子函数)
step(s)

单步运行程序

continue(c)继续运行程序
print(p)变量名
查看指定变量值
finish
运行程序,直到当前函数结束
watch变量名
对指定变量进行监控
quit(q)
退出gdb



#include<stdio.h>
#define MAX_RECORD_NUMBER 10
int record[MAX_RECORD_NUMBER] =
{12,76,48,62,94,17,37,52,69,32};
swap(int* x,int* y)
{
    int temp;
    temp = *x;
    *x = *y;
    *y = temp;
}
int main()
{
    int i,j;
    for(i=0;i<MAX_RECORD_NUMBER-1;i++)
    {
        for(j=MAX_RECORD_NUMBER-1;j>1;j++)
        {
            if(record[j])<record[j-1]
            {
                swap(&record[j],&record[j-1]
            }
        }
     }
    for(i=0;i<MAX_RECORD_NUMBER-1;i++)
    {
        printf("%d",record[i]);
    } 
    printf("\n");
    return 0;
}