本主题介绍如何使用 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 项目中的选项 选项,该选项位于 选项源 下拉菜单中。
- 正确设置了 构建目标 选项。
- 启用了 与项目设置同步 选项。
在第一次分析运行期间,将自动设置编译器系列和可执行文件。
为测试自动化配置执行环境
在测试执行之前,请确保项目可以在执行环境中(模拟或目标)中成功运行并正确配置。
- 确保在 VxWorks 运行时环境中启用调试代理。
- 确保调试代理目标地址与测试配置中指定的目标地址匹配。
C/C++test 使用的默认目标是127.0.0.1:60000
。可以在测试配置中自定义目标地址(请查阅 Customizing the Test Configuration)。
避免对调试代理使用网络端口自动映射。配置 VxWorks Simulator 时,可以指定固定的【调试代理】本地端口。跳转至 高级> 网络配置> 配置... ,为 debug_agent 配置新的端口映射:: 远程端口:1534 > 本地端口:60000。 - 确保具有主机目标路径映射的文件系统(例如 HostFS、PassFS)在 VxWorks 运行时环境中可用。
默认情况下,C/C++test 在收集测试和覆盖结果时使用自动检测到的宿主 - 目标映射。可以在测试配置中自定义映射(请查阅 Customizing the Test Configuration)。
自定义测试配置
要查看或修改执行环境的配置设置,请执行以下操作:
- 打开 IDE 菜单中的 Parasoft> 测试配置 。
- 跳转至 内置> 嵌入式系统> Wind River> Workbench 4。
- 根据项目类型,右键单击其中一项以下测试配置,然后选择 复制:
- 运行 VxWorks DKM Application with Full Monitoring (文件系统,WRWB 4.x) (针对 DKM 项目)
- 运行 VxWorks RTP Application with Full Monitoring (文件系统,WRWB 4.x) (针对 RTP 项目)。 - 选择复制的测试配置,它将被添加到 用户定义 类别中。
- 跳转至 执行> 常规> 执行 细节 ,查看或更改以下设置:
-目标地址 - 指定目标地址 (host:port)
; 默认值为127.0.0.1:60000
。请确保地址与 VxWorks 模拟器或运行目标的设置相匹配。
- 目标-主机路径映射 - 指定目标与主机之间的路径映射 (/target/path=/host/path
)。C/C++test 使用该映射来存储和访问测试和覆盖率日志文件。 映射必须包括“测试执行日志目录(在主机上)”中指定的主机位置。默认情况下,C/C++test 自动检测并使用调试代理提供的可用映射。
- 应用程序的入口点(仅适用于 DKM 项目) - 指定将二进制文件加载到目标中后将 自动 调用的入口点函数。请查阅 构建用于手动测试执行的测试二进制文件 以获得手动控制测试二进制(包括入口点)的相关信息。
- 到 VxWorks 图像的路径(仅适用于 DKM 项目) - 指定到 VxWorks 图像的路径,以提取可用符号的信息(对 正确 配置存根是必需的)。 如果使用 VxWorks Simulator,C/C++test 自动 检测 VxWorks 图像。如果连接到【运行目标】,则必须手动提供到图像的路径。 确保使用 Unix 样式的路径分隔符 (c:/path/to/vxworks/image
)。
构建和运行测应用程序
确保已连接 VxWorks Simulator 或【运行目标】。
- 选择要测试的项目。
- 根据项目类型,运行其中一项以下测试配置:
- 在完全监视下运行 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 测试二进制文件手动执行测试,请执行以下操作:
- 复制 在完全监视下运行 DKM 应用程序(文件系统, WRWB 4.x) 测试配置。
- 重命名新的测试配置(如 "VxWorks DKM build only")。
- 跳转至 执行> 常规> 执行 详情> 测试配置流,选择下拉菜单中的 在完全监视下构建 DKM 应用程序 ,单击 应用。
- (可选)跳转至 执行> 常规> 执行详情> 测试模块二进制 ,自定义将保存测试二进制的位置。
- 在项目资源管理器中,选择要测试的 DKM 项目。
- 运行复制的测试配置。
C/C++test 将自动:
- 检测代码
- 构建测试二进制。 - 手动将测试二进制文件加载到目标中。
- 在目标控制台中,调用 CppTest_InitializeRuntime 初始化运行时应用程序监视。
- 使用测试二进制文件手动执行测试。
- 在目标控制台中,调用 CppTest_InitializeRuntime 结束运行时应用程序监视。
- 从目标手动卸载测试二进制文件。
- 运行 内置> Utilities> 实用程序>加载测试结果(文件) 测试配置以加载覆盖率和运行时监视结果。
查看结果
测试执行完成后,您可以查看: