Klocwork 培训手册
版本:9.1
文档版本:1.0
版权所有
1. 软件安装 ................................................................................................................................... 1
目 录
1.1
1.2
KLOCWORK WINDOWS 安装 .......................................................................................................... 1
1.1.1 安装服务器过程 ............................................................................................................. 1
1.1.2 安装加密狗驱动(如果需要) ..................................................................................... 3
1.1.3 安装客户端过程 ............................................................................................................. 4
KLOCWORK LINUX/SOLARIS 安装 ................................................................................................... 4
1.2.1 安装服务器过程 ............................................................................................................. 4
1.2.2 安装加密狗驱动(如果需要) ..................................................................................... 5
1.2.3 安装客户端过程 ............................................................................................................. 5
1.3 安装过程中遇到问题的解决技巧 .......................................................................................... 6
1.3.1 安装程序在显示安装向导窗口之前失败 ..................................................................... 6
1.3.2 如果安装程序已经启动,但是显示信息,Error: null ................................................. 6
1.3.3 安装程序挂起,安装进度条依然显示 ......................................................................... 6
2 启动和停止服务 ........................................................................................................................ 7
2.1 启动所有服务 ......................................................................................................................... 7
2.2 查看服务状态 ......................................................................................................................... 7
2.3 停止所有服务 ......................................................................................................................... 7
2.4 启动单个服务 ......................................................................................................................... 7
2.5 停止单个服务 ......................................................................................................................... 7
2.6 问题与解决 ............................................................................................................................. 8
2.6.1 Klocwork 服务器无法启动 ................................................................................................. 8
2.6.2 Klocwork 服务器无法停止 ................................................................................................. 8
2.6.3 Klocwork 服务故障需查看服务日志文件 .......................................................................... 8
2.6.4 防火墙的处理 ................................................................................................................. 8
3
KLOCWORK 管理 ........................................................................................................................ 9
3.1 修改服务器设置 ..................................................................................................................... 9
3.2 修改 LICENSE 服务器端口 ......................................................................................................... 9
3.3 修改 LICENSE 服务器主机 ......................................................................................................... 9
3.4 创建并构建 MULTI_PROBLEMS 项目 ........................................................................................... 9
4
C/C++程序分析 ........................................................................................................................ 10
4.1 获取 BUILD SPEC 的方法 .......................................................................................................... 10
4.1.1 获取Build Spec 的方法一: ......................................................................................... 10
4.1.2 获取Build Spec 的方法二(仅适用于VC): .............................................................. 11
4.1.3 获取Build Spec 的方法三: ......................................................................................... 11
4.2 命令行分析 ........................................................................................................................... 11
KMC 分析步骤 ....................................................................................................................... 12
4.3
TORNADO 程序分析 ................................................................................................................. 14
4.4
4.4.1 配置Tornado 开发程序的编译器 ................................................................................ 14
4.4.2 使用命令行提取Build Spec 的方法 ............................................................................. 15
4.4.3 使用Tornado 开发窗口提取Build Spec 的方法 .......................................................... 17
LINUX 环境下的代码分析 ...................................................................................................... 19
4.5
4.6 无法通过编译程序提取 BUILD SPEC 的情况 .......................................................................... 19
4.7 问题与解决 ........................................................................................................................... 20
4.7.1 在KMC 分析过程中报告error 信息 ............................................................................ 20
4.7.2 缺少头文件 ................................................................................................................... 21
4.7.3 缺少源文件 ................................................................................................................... 22
5 配置编译环境 .......................................................................................................................... 22
5.1 配置编译器 ........................................................................................................................... 22
6 开发人员桌面分析-VC6.0 插件 .............................................................................................. 23
6.1
6.2
VC 环境下独立方式的单元级分析 ...................................................................................... 23
VC 环境下连接集成服务器方式的单元级分析 .................................................................. 25
7 开发人员单元级分析-命令行方式 .......................................................................................... 26
7.1 独立方式单元级分析 ........................................................................................................... 26
7.2 得到不同格式的输出报告 ................................................................................................... 26
KWCHECK 调整问题配置文件 .................................................................................................. 26
7.3
7.4 用 KWCHECK 调整缺陷的处理动作 ......................................................................................... 27
7.5 图形化界面的方式修改问题类型配置文件 ........................................................................ 27
7.6 连接服务器方式单元级分析................................................................................................ 28
7.7 从个人环境向服务器同步 ................................................................................................... 28
7.8 从服务器向个人环境同步 ................................................................................................... 29
7.9 同时修改多个问题的状态 ................................................................................................... 29
7.10 生成 BUILD SPEC 模板 ............................................................................................................... 29
7.11 使用 BUILD SPEC 模板 ............................................................................................................... 30
7.12 使用 KLOCWORK DESKTOP .......................................................................................................... 30
8 度量分析 ................................................................................................................................. 31
9 架构约束检查 .......................................................................................................................... 32
10 C/C++程序的扩展和调优 ......................................................................................................... 32
10.1 编写客户化知识库 ............................................................................................................... 32
10.2 定义新的 C/C++程序的编码规范检查器 ............................................................................. 33
10.3 函数内的 C/C++ PATH 检查器 ............................................................................................... 37
10.4 跨函数调用的 C/C++ PATH 检查器 ....................................................................................... 41
11
JAVA 程序的分析 ..................................................................................................................... 47
11.1 使用 KWANT 提取 BUILD SPEC 分析 JAVA 程序 .......................................................................... 47
11.2 使用 KMC 扫描方式分析 JAVA 程序 ...................................................................................... 47
12
JAVA 程序的扩展和调优 ......................................................................................................... 49
12.1 定义新的 JAVA 程序的编码规范检查器 ............................................................................... 49
12.2 使用 JKB 文件调优 JAVA 程序分析 ........................................................................................ 52
12.3 使用 JKB 文件创建新检查器 ................................................................................................ 53
13 C#程序的分析 .......................................................................................................................... 58
13.1
13.2
C#程序集成分析 ................................................................................................................... 58
C#程序单元分析 ................................................................................................................... 58
Klocwork 培训手册
Klocwork 培训手册
培训环境说明
环境准备:
1、 计算机(1G 以上 RAM,1GHz 以上 CPU);
2、 如果要做 VC 的练习题,需要安装 Visual Studio 6.0 或 2003、2005;
1. 软件安装
1.1 Klocwork Windows 安装
目的:
了解 Klocwork 体系架构;
掌握 Klocwork 安装;
1.1.1 安装服务器过程
1. 安装服务器。
下载与您所使用的操作系统相对应的安装程序,保存到一个临时目录中。
2. Windows 系统:双击安装程序。
您可能会看到来自您公司的安全软件的信息,如果有必要,点击 Run。
当图形用户界面初始化的时候会有一个短时间的暂停,请耐心等待。
接下来您的 Klocwork 版本的欢迎信息会出现(如下图)
3. 点击 Next。
出现授权协议画面。
4. 阅读授权协议,如果您同意,选择"I accept the terms of the license agreement"。点击 Next。“选择
安装路径”画面出现:
1
5. 输入您想要的安装路径。
点击 Browse…“浏览文件夹”页面出现。
定位到您想要安装的目录,点击 Open(Windows 平台)或者 Select(Solaris 和 Linux 平台)
重要提示:确保您选择的目录具有足够的硬盘空间
6. 点击 Next。
“选择安装类型”页面出现:
7. 安装程序的默认选择是 Complete 选项。保持选中它。
8. 点击 Next。配置 3 个服务的端口号和选择 projects_root 目录。
2
Klocwork 培训手册
Klocwork server 端口会占用连续 2 个端口,如图中例子会占用 8080 和 8081 端口。
“选择 projects_root 目录”页面让您指定一个路径来创建您的 Klocwork 项目。默认路径在您的
Server 安装目录下。
重要提示:确保您选择的目录具有足够的硬盘空间。
注意:projects_root 目录的最大路径长度不要超过 68-72 字符,这取决于 MySQL 端口号长度(1-5
位数)。
9. 选择执行以下的一个步骤:
a) 接受默认路径。
b) 在文本框中输入您想要的安装路径。
c) 点击 Browse…“浏览文件夹”页面出现。定位到您想要安装的目录,点击 Open(Windows
平台);
10. 继续按向导安装,直到点击 Finish 退出安装程序。
1.1.2 安装加密狗驱动(如果需要)
对使用加密狗作为 License 服务认证标识的情况下,应正确安装加密狗驱动。
1. 双击加密狗驱动安装程序,安装程序解压完成后,出现欢迎界面
2. 点击“Next”按钮,进入加密狗许可协议界面,请认真阅读协议内容,根据实际情况选择是否
接受协议条款。本手册选择接受协议条款。
3. 点击“Next”按钮,进入安装程序就绪界面。
4. 点击“Next”开始安装。安装过程最后阶段需要等待的时间比较漫长(正常情况下需要 5-10 分
钟),请不要点击“Cancel”按钮或终止安装进程!直到安装结束界面出现,点击“Finish”按钮
完成安装。
3
5. 装完驱动之后,插上 USB 加密狗,能看到 USB 加密狗上的小灯亮起,表示驱动已经装好;
6. 运行一下验证程序,以表示驱动是正确的:
\3rdparty/bin\lmhostid -flexid
如果能显示加密狗的 id 号,则表示驱动正确。
1.1.3 安装客户端过程
1. 执行安装程序;
2. 选择安装的组件;
1.2 Klocwork Linux/Solaris 安装
1.2.1 安装服务器过程
1. 检查安装文件执行权限:
jiamliang@jiam-PC:~$ ls ./klocwork/ -l
-rwxr-xr-x 1 jiamliang jiamliang 242601553 2009-06-20 23:25 kw-server-installer.8.2.1.3.linux.sh
-rwxr-xr-x 1 jiamliang jiamliang 149834462 2009-06-21 00:24 kw-user-installer.8.2.1.3.linux.sh
2. 如果没有执行权限,请使用 chmod 命令修改权限。
jiamliang@jiam-PC:~$ sudo chmod 775 ./klocwork/kw-server-installer.8.2.1.3.linux.sh
4