本主题可帮助您解决 C/C++test 可能遇到的问题。
C/C++test 直接分析 C/C++ 源文件,间接分析头文件。根据当前选择,C/C++test 将分析所有 C/C++ 源文件,并报告所选内容中所有源文件和头文件的违规情况(仅针对源文件包含的头文件)。
示例:
选择 Parasoft> 首选项, 选择 控制台 然后选择所需的详细程度(高,正常,低)。
高详细度 | 正常详细度 | 低详细度 | |
---|---|---|---|
有关当前 步骤名称和状态的基本信息(完成,失败,最新) | Yes | Yes | Yes |
错误 | Yes | Yes | Yes |
警告 | Yes | No | No |
命令行 | Yes | Yes | No |
在静态分析和单元测试执行期间打印出违规 情况 | Yes, full-format | Yes, short-format | No |
您可以通过指定-Xmx
设置的值,使用 CPPTEST_ENGINE_EXTRA_ARGS 选项自定义分配的内存量。 当您执行静态分析或将结果报告给 DTP 时,这可能特别有用。有关详细信息,请参见配置高级选项。
请参见准备支持存档。
网络环境的变化可能会影响用于计算机器码的接口,并导致机器码不稳定。您可以使用 PARASOFT_SUPPORT_NET_INTERFACES 环境变量来指定稳定的接口并防止机器码浮动。
将变量值设置为稳定的以太网接口。不要使用虚拟,临时或环回接口。
- 在 Windows 上:将该值设置为您的网卡的 MAC 地址。您可以使用ipconfig -all
命令获取地址。 示例:
SET PARASOFT_SUPPORT_NET_INTERFACES=00-10-D9-27-AC-85 |
- 在 Linux 上: 将值设置为 "inet” 或 "inet6” 系列的网络接口之一。您可以使用 ifconfig
命令获取可用接口的列表。示例:
export PARASOFT_SUPPORT_NET_INTERFACES=eth1 |
如果问题仍然存在,可以通过设置环境变量 PARASOFT_DEBUG_NET_INTERFACES 并将其值设置为 true 来获取诊断信息。这会将可以与技术支持共享的检查过程以及用于计算机器码的界面打印到标准输出中。该接口将标有 [SELECTED] 前缀。
与版本之间报文变更的规则相关联的抑制可能在 DTP 上不可用,并且必须重新抑制这些规则。
您可以通过配置以下高级选项为 10.4.1 版和更高版本中的 BD 类别规则还原旧报文(请参见配置高级选项):
CPPTEST_ENGINE_EXTRA_ARGS="-property flowanalysis.legacy.messages.for.<rule_ID>=true"
示例:
CPPTEST_ENGINE_EXTRA_ARGS="-property flowanalysis.legacy.messages.for.BD.PB.ARRAY=true -property flowanalysis.legacy.messages.for.BD.PB.ZERO=true" |
若要成功还原旧报文,请确保从以下位置删除包含本地 C/C++test 缓存数据的 .cpptest 文件夹:<workspace_location>/.cpptest/.dtpengine/.cpptes
t.
安装或更新扩展或其他 Visual Studio 组件可能会损坏 Visual Studio 的组件模型缓存,这可能会阻止 C++test 的启动。要清除组件模型缓存,请尝试使用-clearcmc
选项运行cpptestcli
。
为确保分析完成,您可以执行以下操作之一:
cpptest.analyzer.source.timeout=<TIMEOUT_IN_SECONDS>
。
生成报告时,请指定包含以下条目的报告配置文件:
results.report.active_rules=true
由 Parasoft 产品生成的报告需要使用 sans-serif 字体才能在您的环境中使用。如果您的报告无法正确显示某些字符(例如国家字符),请确保在系统上安装了 sans-serif 字体。
在 Visual Studio 2017 中启用项目缓存时,C++test 无法生成测试用例。为了确保可以生成测试用例,请禁用项目缓存:
为确保所有 Parasoft 选项在解决方案资源管理器上下文菜单中正常工作,必须在 Visual Studio 2017 或更高版本中安装以下 Visual Studio 工作负载:
在 Visual Studio 2017 和
2019, 性能管理监测和管理可能影响启动时间的扩展。因而,当安装 Parasoft 插件时,可能会出现一个弹出警报,指示 Visual Studio 启动时间已经增加。您可以单击弹出窗口中的“管理性能”链接来查看启动时间并禁用显示警报。
当 Visual Studio 的本机代码完成 IntelliSense 无法识别 C/C++test 特定的语法时,Visual Studio 可能会在测试套件中用红色下划线标记正确的代码元素,以指示潜在的错误。 为防止这种情况,您可以执行以下操作之一:
使用以下指令在测试套件中包装代码:
#ifndef __INTELLISENSE__ //this code block will not be analyzed by IntelliSense #endif |