如何在gdb脚本中编写循环?

流浪95

适应了这个答案之后,我编写了以下循环,以在名为“ gdb_script.gs”的脚本中简单地在gdb中打印数组。我究竟做错了什么?

set $end=64  
while ($i<$end)
   print $i
   print volfrac($i, :, 1)
   set $i=$i+1
end

其中volfrac(:,:,:)是一个fortran数组。我收到错误消息:

 gdb_script.gs:14: Error in sourced command file:
 A syntax error in expression, near `<$end)'.
流浪95

另一个答案完全没有抓住重点。提示是报告的错误:

    gdb_script.gs:14: Error in sourced command file:
    A syntax error in expression, near `<$end)'.

提示为<$end),这意味着while语句中存在语法错误。通过进一步试验,如果将来其他人需要,我将发布结果:

 set $ipx=0
 set $end=32

 while ($ipx .lt. 32)
     print $ipx
     print ro($ipx, 1)
     set $ipx=$ipx+1
 end

关键是使用fortran语法进行比较($ ipx .lt。32),而不是通常的“ c”语法($ ipx <32)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章