以此程序为例,讲解gdb中set的用法
#include <stdio.h>
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)继续运行程序
可以看到用set var 命令将p的设置设为3后,p的值就变成了3,并且以p的值为3继续执行程序。