VS环境下Abaqus Fortran子程序的高级调试

 在我所有的程序 Bug 中,80% 是语法错误。剩下的 20% 中,80% 是不重要的逻辑错误。剩下的 4% 中,80% 是指针错误。最后剩下的 0.4% 是有难度的问题。

           -MarcDonner,IBM Watson 研究中心

VS环境下Abaqus Fortran子程序的高级调试的图1

经常做程序开发的同学都清楚,最痛苦的环节莫过于调试各类莫名其妙的错误。在之前的文章里,已经介绍过Abaqus Fortran子程序开发过程中常见的几种错误类型及相应的基本调试方法。详见以下链接:

Abaqus中Fortran子程序的调试方法

上述方法虽然能实现对程序语法错误和逻辑错误的调试,但方法笨拙,调试效率低,那么有没有更快捷的调试方法呢?能不能像VC/VB那样直接在Visual studio环境中直接调试呢?

VS环境下Abaqus Fortran子程序的高级调试的图2

答案是肯定的,那么该如何实现呢?

01

VS环境下的Fortran子程序调试

先看看效果图,就是下面酱紫,在VS环境下打开子程序,并设置断点,当提交abaqus任务后,子程序被调用,将光标停留在变量名上时,即可实时查看变量数值,异常数据一目了然。

VS环境下Abaqus Fortran子程序的高级调试的图3

VS环境下Abaqus Fortran子程序的高级调试的图4

02 


如何设置软件

找到Abaqus安装目录下的环境变量文件abaqus_v6.env或win86_64.env,将其中“compile_fortran”参数、“link_sl” 参数及“link_exe”参数中的注释符号去掉。就这么简单。

03 


如何体验

最简单的体验方式,直接在CAE中提交任务(也可以使用命令提交任务),当进程中出现“standard.exe”或“explicit.exe”进程时,切换到VS界面下,将“standard.exe”或“explicit.exe”附加到进程即可。

VS环境下Abaqus Fortran子程序的高级调试的图5

你就可以看到惊喜了。

此外,在使用Abaqus command提交任务时,还可以在代码中加入read或者pause之类的暂停语句,以防止计算量小的模型瞬间就运算结束了。

上述调试方法适合调试逻辑错误哈,一般的语法错误还是直接查找与任务同名的.log文件更方便一些。

详细的设置及使用方法已经录制了视频课程发布在技术邻网站,如果看了上面的描述还是搞不懂,可以点击下方的链接去看视频咯,限时钜惠。

Abaqus中Fortran子程序的高级调试方法

VS环境下Abaqus Fortran子程序的高级调试的图6

VS环境下Abaqus Fortran子程序的高级调试的图7

(3条)
默认 最新
支持君莫老师!
评论 1 点赞 1
回复
😁😁😁蟹蟹
评论 点赞 1
你好,我用的ABAQUS2020+IVF2020+VS2019,但我在我的abaqus_v6.env中找不到compile_fortran,也找不到link等参数,这是什么错误?
评论 点赞

查看更多评论 >

点赞 31 评论 4 收藏 8
关注