Reginald 发表于 2016-6-20 09:30

通过Visual Studio调试ABAQUS子程序

  1.安装、配置ABAQUS UserSubroutine 的开发环境;
     本人使用的开发工具组合为 Windows 7 (x64)+ ABAQUS 6.12-1 (x64) +Visual Studio 2008 + Intel Visual Fortran 11.1.060 + IMSL Fortran Library 6.0(可选项)。首先使用 ABAQUS官方所建议的方法编译、运行简单的示例子程序,确保开发环境能正常工作。

  2. 用文本编辑器打开“C:\SIMULIA\Abaqus\6.12-1\SMA\site\abaqus_v6.env”。

  3. 找到"compile_fortran"参数,添加‘/Od’和‘/Zi’选项以使得Intel Visual Fortran compiler在编译期生成调试符号信息。本人的修改结果为:
      

  4. 找到"link_sl"参数,添加‘/DEBUG’选项以使得IntelVisual Fortran linker在链接期链接调试符号信息到.obj文件。本人的修改结果为:
         

  5. 找到 "link_exe"参数, 添加 ‘/DEBUG’ 选项以使得 Intel Visual Fortran linker 在链接期链接调试符号信息。本人的修改结果为:
      

  6. 准备好 job 文件 (*.inp) 和子程序源代码文件 (*.for);
  7. 在子程序源代码文件的变量声明段和可执行代码段之间添加一些可以使ABAQUS暂停执行的代码,并在适当的位置设置断点。有多种方案,如用Sleep函数、或read语句。本人所使用的方案如下所示:
         
  8. 启动 “ABAQUS Command”,提交命令“ABAQUS job=JOB_NAME user=SUBROUTINE_NAMEinteractive“;当“standard.exe”进程启动,并且开始等待用户键盘输入时,在Visual Studio点击菜单Debug => Attach toProcess…,在弹出的对话框中找到“standard.exe”进程,最后 Attach,此时Visual Studio会启动调试器。
      
  9. 在 ABAQUS Command 窗口中输入任意整数并回车, Visual Studio 即打开一个临时生成的和源文件内容完全相同的临时代码文件,并在设置断点的位置暂停,此时即可开始正常的调试过程了。
      
  10.Enjoy and Thanks!


来源:FEAonline有限元在线

页: [1]
查看完整版本: 通过Visual Studio调试ABAQUS子程序