使用 IDE 调试宏

可以使用特殊的命令行选项和集成开发环境 (IDE) 程序调试 Simcenter STAR-CCM+ 宏。

有多个 IDE 可免费下载,包括:

以下说明适用于使用 NetBeans 调试宏。需要使用 12.6 或更高版本。类似的方法可用于其他 IDE。

调试宏的过程包括以下步骤:

  1. 在 IDE 中加载宏
  2. 在调试模式下运行 Simcenter STAR-CCM+
  3. 单步调试宏

在 IDE 中加载宏

NetBeans 要求宏位于目录结构 <ProjectFolder>/<SourceFolder>/<Macro>.java 中,因此在开始之前必须将宏和任何输入文件组织到适当的位置。

  1. 在 NetBeans 中,选择文件 > 新建项目
  2. New Project(新建项目) 向导中,选择 Java Project with Existing Sources(基于现有源的 Java 项目),然后单击下一步


  3. Name and Location(名称和位置) 面板中,在“项目名称”中指定项目的名称,在“Project Folder(项目文件夹)”中提供项目目录的位置,然后单击下一步


  4. Existing Sources(现有源) 面板中,单击 Source Package Folders(源包文件夹)Add Directory(添加目录) 按钮,添加先前创建的源目录,然后单击下一步


  5. 包括面板中,确保高亮显示所需的宏。


  6. 单击完成以创建项目。

下一步是将 Simcenter STAR-CCM+ JAR 文件添加到项目,使 IDE 可以解析 Simcenter STAR-CCM+ Java 类。添加保存在 ext/ 目录(在 Simcenter STAR-CCM+ 安装期间创建)中的 JAR 文件。

  1. 在 NetBeans 的 Projects(项目) 面板中,右键单击,然后选择 Add JAR/Folder(添加 JAR/文件夹)


  2. Simcenter STAR-CCM+ 安装目录中,选择 ext/ 目录中的每个 JAR 文件。

    在 Linux 和 Windows 上,此目录位于以下位置中:

    [INSTALLDIR]/star/lib/java/platform/modules/ext/

    错误符号将从宏中消失。



    现在即可在调试模式下启动 Simcenter STAR-CCM+

在调试模式下运行 Simcenter STAR-CCM+

Simcenter STAR-CCM+ 可直接将消息传递到运行客户端的 Java 虚拟机。可以使用此功能通过指定端口将 NetBeans 附加到 Simcenter STAR-CCM+ 的实例。在以下示例中使用端口号 8765,但可使用任何未使用的端口号。

  1. 执行以下某项操作:
    • 在 Windows 上的命令提示符中,在一行中输入以下命令:

      <InstallationDirectory>\star\bin\starccm+ -jvmargs "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8765"

    • 在 Linux 上的终端窗口中,在一行中输入以下命令:

      <InstallationDirectory>/star/bin/starccm+ -jvmargs '-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8765'

    此时将打开 Simcenter STAR-CCM+

现在可以通过该端口将 IDE 附加到 Simcenter STAR-CCM+

  1. 在 NetBeans 中,选择调试 > 附加调试程序,将主机设为 localhost,从上面的命令行指定端口号,然后单击确定


    现在即可在调试模式下运行宏。

宏将执行到指定的断点。从此点开始,可以使用 IDE 步进工具处理每个命令。

单步调试宏

通过将 Simcenter STAR-CCM+ 连接到 IDE,可以将宏执行到任何行,然后单步调试各个命令加以了解。将 IDE 附加到 Simcenter STAR-CCM+ 之后,可以先在宏中创建一个或多个断点,然后再运行。

要单步调试宏,执行以下操作:

  1. 在 NetBeans 中,通过单击行号将断点放置在宏的开头。


  2. Simcenter STAR-CCM+ 中,根据需要加载或创建案例。
  3. Simcenter STAR-CCM+ 中,运行宏。