以此程序爲例,講解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繼續執行程序。