问题标签 [parasoft]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - CORBA::ORB_init 泄漏内存
我有一个项目使用 TAO(CORBA) 的命名服务在不同模块之间进行信息交换。但是,我发现我的命名服务实现导致了内存泄漏,正如我的内存泄漏检测软件 (Parasoft) 检测到的那样。
出于测试目的,我创建了一个小型示例项目。
当我运行内存泄漏检测软件时,发现 ORB_init 正在泄漏内存。然而,从示例代码中可以看出,我所做的只是初始化一个 ORB,然后立即释放和销毁它。是否有任何其他步骤可以从内部释放 ORB 分配的资源?
泄漏之一:
12 字节分配 1 个块
malloc()(接口)
运算符新()
CORBA::string_alloc() String_Alloc.cpp, 53
CORBA::string_dup() String_Alloc.cpp, 38
TAO_Default_Resource_Factory::get parser_names() default_resources.cpp, 590
TAO_Parser_Registry::open() Parser_Registry.cpp, 40
TAO_ORB_Core::init() /home/user/ACE_Wrappers/ace/Arg_Shifter.cpp, 1291
CORBA::ORB_init() ORB.cpp 1359
main() ..src/AlphaTest.cpp, 34
我只控制 src/AlphaTest.cpp,其余的都是 TAO 文件。
plugins - 需要帮助在 TeamCity 中使用插件 parasoft 发现发布 xml 报告
我在 teamcity 中为我的项目添加了一个构建步骤,其中包括使用插件 Parasoft Findings 发布所有代码违规的 XML 报告。问题是 teamcity 无法解析 XML 报告。它说有一个意外的报告格式并查看日志(我找不到)。
我已经检查了正确的报告位置模式。我不使用 SOAtest,而是使用 C++ 测试,所以我只将“Parasof 分析器 10.x”作为报告类型
c++ - 带有可执行文件的 CXX CMake 编译器前缀不起作用
我正在关注 Parasoft 代码覆盖率以在我的源代码上运行它:https ://docs.parasoft.com/display/CPPTEST1040/Instrumenting+and+Building+Instrumented+Source+Code
我在我的新柯南配置文件中将 CXX 定义为环境变量。
因为我想在基于柯南的项目上运行 Parasoft 代码覆盖率。
问题是,我无法为 CXX 编译器添加 parasoft 代码覆盖率。遇到 CXX 编译器损坏,因为它没有采用柯南配置文件中定义的完整 CXX。
我在stackoverflow中看到了很多与此相关的链接:如何为CMake编译器添加前缀?
在我的情况下没有任何作用。请帮助我在 CXX 前面添加一个可执行文件来定义 CXX。
非常感谢。
parasoft - Parasoft 所需的外部工具编码
我知道这不符合指导方针,但我确实需要 parasoft 扩展工具编码部分的帮助。我有所有需要的逻辑,但不知道如何开始
1. 我有 8 位数字“50000002”
2. 我还有另一个 8 位校验码“12121212”
3. 现在将每个数字与 8 位校验码相乘
5 0 0 0 0 0 0 2
1 2 1 2 1 2 1 2
===================
(5*1)(0*2)(0*1).....(2*2)
===================
4. 现在取倍数并检查它是否大于等于或小于9。如果倍数小于9,则值应该是倍数
例如,最后一位是 2*2 = 4 和 4 > 9 是假的:所以值是 4
如果大于则该数字应减去 9
例如 9*2 = 18 和 18 > 9 为真:所以值将是 18-9 = 9
5. 然后我们需要添加从第 4 步得到的所有数字并使用以下公式
10-MOD(SUM(Step4_value),10)
如果上述公式的值等于 10,那么它应该给出数字 0,否则该值将与公式相同。
已编辑
c - MISRA2004-12_8-3 规则对 RHS 操作数 (32u - n) 有静态分析违规,即使有限制检查
我目前正在尝试使用 parasoft 软件来修复我的代码使用 MISRA C 编码标准的静态分析违规。我的代码最初有这个功能:
这会导致违反规则 MISRA2004-12_8-3 的静态分析。规则说
移位运算符的右手操作数应位于比左手操作数的基础类型的位宽度小 0 到 1 之间
规则文档指出,此特定规则报告违规,如果
- 右侧操作数是具有负值或值超过左侧操作数长度(以位为单位)的常数
- 右手操作数不是常数,并且不被特定模式检查
由于我没有对右手操作数使用常量,因此 MISRA-C 规则规定我在此语句周围加上限制检查。MISRA-C 还指出
使用无符号整数类型将确保操作数为非负数,因此只需要检查上限(在运行时动态或通过查看)。否则,将需要检查这两个限制。”
由于我使用的是无符号类型,uint32_t
因此我只需要检查右手操作数的上限。但是,对于val << (32u - n)
,我不能具有n
as的值0u
。因此,我尝试通过添加以下检查来解决此违规问题:
这样做可以解决 的静态分析违规(val >> n)
,但仍会报告相同的违规(val << (32u - n))
。
因此,我的问题是:
该
if
语句明确将 的值限制n
为小于32u
。因此,(32u - n)
也将具有小于或等于 的值32u
。(32u - n)
尽管进行了极限检查,为什么 parasoft 软件仍然报告右手操作数的错误?解决此违规行为的正确方法是什么?
http - 我如何在 Parasoft SOATest 的响应对象中引用从邮递员发送的请求标头/正文元数据?
我正在使用 Postman 向 Parasoft Virtualize 中的虚拟资产发送 GET 请求,并且在 GET 请求的标头中包含了一些元数据,例如 id=1、url='http//:www.google.com'。如何在使用 JSON 格式的文字消息响应程序中将这些作为变量引用
java - Parasoft 无法生成覆盖范围
我在 Eclipse Java 中使用 Parasoft 生成覆盖率报告时遇到问题。Eclipse 显示错误,
配置运行期间未报告任何结果。请检查您的设置,然后再试一次
设置问题
[错误]无法报告覆盖率 找不到覆盖率文件,可能没有完成检测。
我正在使用 Built-in -> Unit Tests 来生成单元测试结果及其覆盖率。
“仪器未完成”是什么意思?
感谢您的指导
c - 定位在 Visual Studio 上执行静态代码分析时发出的 Parasoft 命令行参数
我正在对基于 C 语言的项目解决方案执行静态代码分析,方法是右键单击项目并选择 Parasoft -> 测试使用 -> 用户定义的 -> 静态代码分析。但我无法在任何输出窗口中找到用于调用 Parasoft 的命令行参数。我一直在寻找这个,以便我们可以创建一些脚本来执行这些测试而无需启动 Visual Studio 并在任何代码修改后每次为我的工作副本执行上述步骤(我使用另一个 IDE/文本编辑器来修改代码,因为 Visual Studio 需要加载/构建时间更多,VS主要用于执行SC分析)
我已经检查了 C:\Users<user>\AppData\Local\Temp\parasoft\xtest 以从日志文件中找到任何此类信息,但找不到任何有用的信息。
有人可以指导如何获取传递给静态代码分析的确切 Parasoft 命令行参数吗?
PS:我不希望使用基于 dtp 服务器的方法来运行这些测试。
设置:Visual Studio Professional 2017 插件 - parasoft_cpptest_professional_2020.1.0 win32