没有合适的资源?快使用搜索试试~ 我知道了~
首页Parasoft C++ test 9.2官方规则_中文版
资源详情
资源评论
资源推荐


BD
BugDetective (需要许可证)

始终关闭事务 [BD-MISC-TRANS-1]
说明
规范检测特定变量('交易对象')的交易情形
未被关闭.
始于
v7.0
注意
N/A
安全相关性
N/A
参数
规范必须在使用前参数化.
在参数化对话框里包含了两个表: '开始事务的函数'
和 '终止事务的函数'.
事务开始及终止对象都可使用参数化
'启用的' 栏位:
用来包含/排除分析时可用的那些已定义之事务
启始/终止对象.
'完全修饰的类型名称或命名空间' 栏位:
为事务实体的启动/终止规范允许范围内的声明.
如果此栏位空白, 只有在'函数名称' 栏位中指
定的全局函数名会被当成事务开始/终止对象.
如果此栏位使用通配符 '*', 则任何类型或任何
命名空间声明的函数-- 或在任何类型及命名空
间外声明的全局函数-- 会被当成事务开始/终止对象.
'函数名称' 栏位:
事务开始/终止函数名在此指定.
'+ 子类中的定义' 栏位:
这是用来决定在子类中的函数定义是否当成事务
开始/终止对象. 这适用于实例和非实例函数,
只有指定声明类型才有用.
设定事务开始对象

'开始事务的函数' 表格可以填入开始事务的函数
描述. 只要这些函数能处理底下任何一项:
a) 返回一个事务对象.
b) 启动了该函数被要求的事务对象. 例如, 在对
transaction->open() 的调用之后; "transaction" 是一个开始的事务而必须关闭.
c) 启动它的一个实际参数为交易对象.
对开始函数而言, 这些 '返回一个事务对象', '"此" 对象
是一个事务对象' 和 '事务对象的参数序号 (从 1 开始)'栏位
应该用来描述在发生的情况(a,b 或 c). 最后栏位的值
应是受影响的参数序号 (从 1 开始).
例如, 如果该函数的第二个参数指定为事务对象,
这应该设为 "2" . 如果所有参数为事务对象则使用 '*'.
构造函数需要注意的地方
任何事务开始函数的名字 (在'函数名称' 栏位
指定) 和其声明类型中未经修饰名称完全相同
(在 '完全修饰的类型名称或命名空间' 栏位中该字段的值最后部分)
视为构造函数. 当构造函数代表 开始函数时,'"此" 对象是一个事务对象'
栏位必须勾选.
改变 '+ 子类中的定义', '返回一个事务对象' 和
'事务对象的参数序号 (从 1 开始)' 栏位的值对构
造函数的分析是没有影响的.
设定事务终止对象:
第二个窗格可以填入事务对象指定的对象所调用的那些
终止事务的函数, 或以传递事务对象来成为他们的参数
之一.
对于事务开始对象, 在标识 '"此" 对象是一个事务对象'
和 '事务对象的参数序号' 的栏位应适当的填入事务终止
对象.
在这份文档的 '示例' 段落有着详细的示例说明该如何正
确的引用参数化的功能.
指定接近程序终止时违规的报告
"不要在应用程序终止时报告违规" 的
参数允许用户管理程序终止时违规的报
告. 因为一般建议需手动关闭事务所以
默认的设置是 "禁能".
优点
剩余3043页未读,继续阅读













安全验证
文档复制为VIP权益,开通VIP直接复制

评论1