适应这个之后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(使用前将#替换为@)