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

2024-01-01

适应这个之后answer https://stackoverflow.com/questions/20481815/how-to-loop-in-a-gdb-script-till-program-is-finished,我编写了以下循环来简单地在名为“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)'.

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

    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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 gdb 脚本中编写循环? 的相关文章

随机推荐