本主题介绍如何使用 Wind River Workbench 4.x 的 C/C++ 4.x 插件对应用程序执行运行时监视。有关使用 C/C++test 进行应用程序监视的常规信息,请查阅 运行时错误检测覆盖率分析

使用 Wind River Workbench 4.x 的 C/C++test 插件执行应用程序监视需要执行以下步骤:

配置项目

Wind River Workbench 4.x 的 C/C++ 4.x 插件支持以下项目类型:

  • 可下载内核模块
  • 实时进程

在测试执行之前,请确保您的项目可以在 Wind River Workbench 中构建并正确配置。打开项目的 属性 ,跳转至 Parasoft> C/C++test> 构建设置 ,并确保配置了以下选项:

  • 选中了 使用 Wind River Workbench 项目中的选项 选项,该选项位于 选项源 下拉菜单中。
  • 正确设置了 构建目标 选项。
  • 启用了 与项目设置同步 选项。

(info) 在第一次分析运行期间,将自动设置编译器系列和可执行文件。

为测试自动化配置执行环境

在测试执行之前,请确保项目可以在执行环境中(模拟或目标)中成功运行并正确配置。

  • 确保在 VxWorks 运行时环境中启用调试代理。
  • 确保调试代理目标地址与测试配置中指定的目标地址匹配。
    (info)C/C++test 使用的默认目标是 127.0.0.1:60000。可以在测试配置中自定义目标地址(请查阅 Customizing the Test Configuration)。
    (info)避免对调试代理使用网络端口自动映射。配置 VxWorks Simulator 时,可以指定固定的【调试代理】本地端口。跳转至 高级> 网络配置> 配置... ,为 debug_agent 配置新的端口映射:: 远程端口:1534 > 本地端口:60000
  • 确保具有主机目标路径映射的文件系统(例如 HostFS、PassFS)在 VxWorks 运行时环境中可用。
    (info)默认情况下,C/C++test 在收集测试和覆盖结果时使用自动检测到的宿主 - 目标映射。可以在测试配置中自定义映射(请查阅 Customizing the Test Configuration)。

自定义测试配置

要查看或修改执行环境的配置设置,请执行以下操作:

  1. 打开 IDE 菜单中的 Parasoft> 测试配置
  2. 跳转至 内置> 嵌入式系统> Wind River> Workbench 4
  3. 根据项目类型,右键单击其中一项以下测试配置,然后选择 复制:
    运行 VxWorks DKM Application with Full Monitoring (文件系统,WRWB 4.x) (针对 DKM 项目)
    运行 VxWorks RTP Application with Full Monitoring (文件系统,WRWB 4.x) (针对 RTP 项目)。
  4. 选择复制的测试配置,它将被添加到 用户定义 类别中。


  5. 跳转至 执行> 常规> 执行 细节 ,查看或更改以下设置:
    -目标地址 - 指定目标地址 (host:port); 默认值为 127.0.0.1:60000请确保地址与 VxWorks 模拟器或运行目标的设置相匹配。
    目标-主机路径映射 - 指定目标与主机之间的路径映射 (/target/path=/host/path)。C/C++test 使用该映射来存储和访问测试和覆盖率日志文件。 (warning) 映射必须包括“测试执行日志目录(在主机上)”中指定的主机位置。
    默认情况下,C/C++test 自动检测并使用调试代理提供的可用映射。
    应用程序的入口点(仅适用于 DKM 项目) - 指定将二进制文件加载到目标中后将 自动 调用的入口点函数。请查阅 构建用于手动测试执行的测试二进制文件 以获得手动控制测试二进制(包括入口点)的相关信息。
    -
    到 VxWorks 图像的路径(仅适用于 DKM 项目) - 指定到 VxWorks 图像的路径,以提取可用符号的信息(对 正确 配置存根是必需的)。 如果使用 VxWorks Simulator,C/C++test 自动 检测 VxWorks 图像。如果连接到【运行目标】,则必须手动提供到图像的路径。 (warning) 确保使用 Unix 样式的路径分隔符 (c:/path/to/vxworks/image)。

构建和运行测应用程序

确保已连接 VxWorks Simulator 或【运行目标】。

  1. 选择要测试的项目。
  2. 根据项目类型,运行其中一项以下测试配置:
    在完全监视下运行 DKM 应用程序(文件系统, WRWB 4.x) (针对 DKM 项目)
    在完全监视下运行 VxWorks RTP 应用程序(文件系统, WRWB 4.x) (针对 RTP 项目)。
    有关运行测试配置的详细信息,请查阅运行测试配置

C/C++test 将自动:

  • 检测代码
  • 构建测试二进制文件
  • 将二进制文件加载到目标中(使用调试代理)
  • 运行测试二进制文件(使用调试代理);对于 DKM 项目,称为测试配置中指定的入口点–请查阅 Customizing the Test Configuration
  • 将二进制文件加载到目标中(使用调试代理)
  • 收集覆盖率和运行时监视结果(使用调试代理/主机目标路径映射)

构建用于手动测试执行的测试二进制文件(仅适用于 DKM 项目)

默认情况下,C/C++test 自动生成并运行测试二进制文件。如果需要使用 DKM 二进制文件手动执行一组功能测试,可以将 C/C++test 配置为只构建测试二进制文件,而不自动运行它。这使您可以手动将测试二进制文件上载到目标,执行测试,并将覆盖率数据和运行时监视结果加载到 Workbench IDE 中。

要为 DKM 测试二进制文件手动执行测试,请执行以下操作:

  1. 复制 在完全监视下运行 DKM 应用程序(文件系统, WRWB 4.x) 测试配置。
  2. 重命名新的测试配置(如 "VxWorks DKM build only")。
  3. 跳转至 执行> 常规> 执行 详情> 测试配置流,选择下拉菜单中的 在完全监视下构建 DKM 应用程序 ,单击 应用
  4. (可选)跳转至 执行> 常规> 执行详情> 测试模块二进制 ,自定义将保存测试二进制的位置。
  5. 在项目资源管理器中,选择要测试的 DKM 项目。
  6. 运行复制的测试配置。
    C/C++test 将自动:
    - 检测代码
    - 构建测试二进制。
  7. 手动将测试二进制文件加载到目标中。
  8. 在目标控制台中,调用 CppTest_InitializeRuntime 初始化运行时应用程序监视。
  9. 使用测试二进制文件手动执行测试。
  10. 在目标控制台中,调用 CppTest_InitializeRuntime 结束运行时应用程序监视。
  11. 从目标手动卸载测试二进制文件。
  12. 运行 内置> Utilities> 实用程序>加载测试结果(文件) 测试配置以加载覆盖率和运行时监视结果。

查看结果

测试执行完成后,您可以查看:


  • No labels