linux gdb set变量的值 例子(三)

以此程序为例,讲解gdb中set的用法

#include 

int func(int i)
{
    int j = 1;
    int p = 0;
    int q = 0;
    
    for(p = 0; p < 5; p++)
    {
        q++;
        printf("p =%d\n", p);
        printf("q =%d\n", q);
    }
    return 0;
}

int main()
{
    int i = 5;
    i = i +1;
    printf("main i = %d\n", i);
    func(i);
    printf("main2 i = %d\n", i);
    return 0;
}

使用set 设置变量的值

(1)首先在程序的第15行设置一个断点,然后运行程序,程序运行到第15行会停住。

(2)在断点处用display输出p和q的值

(3)将p的值用set var 命令设置为3

(4)继续运行程序

linux gdb set变量的值 例子(三)_第1张图片

linux gdb set变量的值 例子(三)_第2张图片

可以看到用set var 命令将p的设置设为3后,p的值就变成了3,并且以p的值为3继续执行程序。



你可能感兴趣的:(linux,C)