长话短说 pconf 配置文件

Klocwork 版本:2017.3

缺陷规则配置文件以 .pconf 为后缀,用来配置哪个规则要启用,那个规则要关闭。

在 server 端,pconf 配置文件有两类:

(1)

/projects/workspace/rules/analysis_profile.pconf

作用:创建新项目的时候,将此文件复制到项目的规则目录

/projects/

/rules 下。相当于新建项目的缺省设置;

(2)

/projects/

/rules/analysis_profile.pconf

作用:项目的规则设置

两者的关系:

(2)是从(1)复制过来的,但此后就再无关系,各自修改不会影响对方。

在Desktop端,也有两个位置:

(1)本地的 pconf 文件位于:

.kwps\localconfig\profiles\analysis_profile.pconf,用于存储Desktop项目本地设置。

(2)第二个位置是当Desktop设置了与Server同步,那么Desktop项目从Server项目下载 pconf 文件,并保存在 \.kwps\servercache\analysis_profile.pconf

所以,Desktop如果设置了同步用(2),如果没设置同步用(1)。

然后,说如何设置。

最简单的设置,就是在界面上勾选。Server端:

或者使用 kwconfigeditor

Desktop 端用:

勾选完,保存。在上面所说的可以找到所保存的文件。

重要的一点要说的是,保存的 pconf 配置文件是基于缺省配置设置的增量。也就是说,是基于缺省配置设置的修改的内容。

那么缺省设置在哪里呢?应该说是设置在产品中了,位置是:

C/C++规则:/plugins/builtin_ccxx_plugins.xml,里面能看的就是缺省设置:

Java规则缺省设置在 /class/jdefects.jar 里面。

C#规则缺省设置在 /class/builtin_csharp_plugins.xml 里面。

也就是说,勾选所作的修改,是对缺省设置的改变量。

另一个话题:如何修改规则的严重等级:

这需要在Sever端,用 kwconfigeditor ,如图:

这些.pconf 文件可以复制到其他计算机,给其他 Server 或者 Desktop 项目使用。

如何应用在其他服务器或项目呢:

在Server端,使用 kwadmin import-config

注意:一定要用 kwadmin 导入到项目,不能单纯复制过去,否则,你必须重启KW 服务器才能生效。

在Desktop端,使用 kwcheck import

如果您做好了一个 pconf 文件,里面只有您想要启用的规则,或者说,您不希望增量,只想启用文件里面的规则,该怎么办呢?

那就用上述修改pconf 文件的方法,做一个禁用所有规则的空配置文件:

kwconfigeditor null.pconf

然后,先导入 null.pconf,再导入您想设置的pconf. 就行编程序的时候,用memset 做个初始化,然后再写入想要的东西。

kwadmin import-config afd null.pconf

kwadmin import-config afd my_pconf.pconf

当然,一般的 pconf 规则文件共享就不存在初始化的问题,直接复制过去 kadmin import-config 就没有问题的。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180206G08QNT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券