GDB内设置循环打印数组所有元素的和

GDB调试命令不仅可以简单的打印,断点,按步执行下一行,还可以存放变量。

例如一个fortran程序有一个数组a(n)需要调试

parameter::n=10
dimension::a(n)
do i    = 1,n
   a(i)= 10.0*i
enddo

如果在gdb中要打印一个数组a(n)的所有元素之和,可以在gdb中输入以下命令:

(gdb) set $sum=0
(gdb) set $i=n
(gdb) while ($i)
>        set $sum=$sum+a($i)
>        set $i--
>     end 
(gdb) p $sum

另外,也可以将上述命令写成一个脚本命名为script,然后在gdb中通过source命令调用该脚本即可

(gdb) source script
posted @ 2022-10-24 17:10  Philbert  阅读(497)  评论(0编辑  收藏  举报