如何在 Parasoft 中创建构建数据文件 (bdf)?

2023-12-07

我正在尝试使用 Parasoft C/C++ Test 通过静态测试检查“编码标准”。我在 Parasoft 用户指南中只找到了“如何在 Makefile 项目中创建 bdf”部分。

如何为每个项目创建一个 bdf?是否必须使用 makefile 项目?


感谢您的回答,parasoft 不是一个著名的话题。 答案值一块金子。我找不到 cpptesttrace。 有cpptest和cpptestscan。他们可以吗?我使用的是旧版本的parasoft。

你是对的。 “cpptesttrace”是在 Parasoft C++test 版本 9.4(2012 年中)中添加的,因此您可能使用的是 9.2 或更早版本,其中仅存在“cpptestscan”。

顺便说一句,这里是 C++test 独立安装(不是 Visual Studio 插件)中程序的快速解释:

  • cpptest - 启动 C++test GUI(基于 Eclipse),通常用于桌面上的交互式工作
  • cpptestcli - 用于自动化静态分析的 C++test 命令行驱动程序,例如作为 Jenkins 工作运行,
  • cpptestscan - 用作编译器命令行的前缀,以捕获单个编译信息并将其添加到 BDF 文件中
  • cpptesttrace - (自 Parasoft C++test 9.4 起)用作构建命令行的前缀,捕获所有编译命令并保存在 BDF 文件中

cpptestscan 和 cpptesttrace 之间的主要区别在于:

  • cpptestscan 必须添加到每个编译命令行之前。这意味着,cpptestscan 只能捕获单个编译,并一次将一个编译保存到 BDF 中。这通常是通过覆盖 make CC 或 CXX 变量(指定编译器,例如“cpptestscan g++ -c foo.c -o foo.o”)来完成的。
  • cpptestrace 应该在整个构建命令之前添加一次,并且它跟踪构建命令调用的子进程。被识别为编译器调用的所有进程的记录都存储在 BDF 中。

如果 makefile 或构建脚本足够灵活以允许在命令行覆盖编译器,例如 cpptestscan 就可以了

make CXX="cpptestscan g++" CC="cpptestscan gcc"

对于基于 make 的项目来说,这通常是可能的。对于自定义或自动生成的构建脚本,所有的赌注都已结束。通常,唯一的选择是修改项目构建脚本,人们通常对此感到紧张。 在这种情况下,cpptesttrace 可以提供帮助,因为它完全是非侵入式的,并且可以从几乎任何构建过程中捕获构建信息。

回到本文最初的问题,如果您有多个项目:

  • 使用 cpptestscan,您需要在每个项目的构建脚本中以某种方式为编译器添加 cpptestscan 前缀,以创建相应的 BDF
  • 使用 cpptesttrace,您可以为每个项目运行构建,在每个项目的构建命令前面添加 cpptesttrace 以创建相应的 BDF 后者通常更容易,但您需要更新的 C++test(最新版本是 10.3)。

我希望这有帮助。 顺便说一句:请咨询 Parasoft 是否可以升级 C++test。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Parasoft 中创建构建数据文件 (bdf)? 的相关文章

  • 如何在 Visual Studio 2010 中增强 XAML 设计器?

    当我使用 XAML 设计器时 进入设计器和退出设计器是如此困难和缓慢 当我这样做时 Visual Studio 卡了一段时间 有什么方法可以增强 XAML 设计器和编辑器吗 Ant 保存 XAML 文件时非常慢 这通常意味着您可能有复杂的
  • 使用Physics.Raycast 和Physics2D.Raycast 检测对象上的点击

    我的场景中有一个空的游戏对象 带有 2D 组件盒碰撞器 我将脚本附加到该游戏对象 void OnMouseDown Debug Log clic 但是当我点击我的游戏对象时 没有任何效果 你有什么想法 如何检测我的盒子碰撞器上的点击 使用光
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 向 Nhibernate 发出 SQL 查询

    如何将此 SQL 查询发送给 Nhibernate SELECT Customer name FROM Company INNER JOIN Customer ON Company CompanyId Customer CompanyId
  • 在 Unity 进程和另一个 C# 进程之间进行本地 IPC 的最快方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望每秒大约 30 次从 C 应用程序向我的 Unity 应用程序传送大量数据 由于 Unity 不支持映射内存和管道 我考虑了 t
  • 读取文件特定行号的有效方法。 (奖励:Python 手册印刷错误)

    我有一个 100 GB 的文本文件 它是来自数据库的 BCP 转储 当我尝试导入它时BULK INSERT 我在第 219506324 行上收到一个神秘错误 在解决此问题之前 我想看看这一行 但可惜的是我最喜欢的方法 import line
  • C++中的类查找结构体数组

    我正在尝试创建一个结构数组 它将输入字符串链接到类 如下所示 struct string command CommandPath cPath cPathLookup set an alarm AlarmCommandPath send an
  • 将 System.Windows.Input.KeyEventArgs 键转换为 char

    我需要将事件参数作为char 但是当我尝试转换 Key 枚举时 我得到的字母和符号与传入的字母和符号完全不同 如何正确地将密钥转换为字符 这是我尝试过的 ObserveKeyStroke this new ObervableKeyStrok
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • 使用 C 语言使用 strftime() 获取缩写时区

    我看过this https stackoverflow com questions 34408909 how to get abbreviated timezone and this https stackoverflow com ques
  • 关于在 Windows 上使用 WiFi Direct Api?

    我目前正在开发一个应用程序 我需要在其中创建链接 阅读 无线网络连接 在桌面应用程序 在 Windows 10 上 和平板电脑 Android 但无关紧要 之间 工作流程 按钮 gt 如果需要提升权限 gt 创建类似托管网络的 WiFi 网
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做
  • 将 log4net 与 Autofac 结合使用

    我正在尝试将 log4net 与 Autofac 一起使用 我粘贴了这段代码http autofac readthedocs org en latest examples log4net html http autofac readthed
  • 如何对 Web Api 操作进行后调用?

    我创建了一个 Web API 操作 如下所示 HttpPost public void Load string siteName string providerName UserDetails userDetails implementat
  • .NET中的LinkedList是循环链表吗?

    我需要一个循环链表 所以我想知道是否LinkedList是循环链表吗 每当您想要移动列表中的 下一个 块时 以循环方式使用它的快速解决方案 current current Next current List First 电流在哪里Linke
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • 如何在 C# 中调整图像大小同时保持高质量?

    我从这里找到了一篇关于图像处理的文章 http www switchonthecode com tutorials csharp tutorial image editing saving cropping and resizing htt
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • memset 未填充数组

    u32 iterations 5 u32 ecx u32 malloc sizeof u32 iterations memset ecx 0xBAADF00D sizeof u32 iterations printf 8X n ecx 0
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable

随机推荐