CppCheck的使用

一、 实验要求

明白CppCheck的配置及原理,并使用CppCheck进行代码缺陷的检查,进行总结。

二、 CppCheck的原理介绍

1、Cppcheck先是分析拆解代码,将每个有效字符作为一个token(token是抽象代码中所有字符的
类,包含字符的字符串,类型等),提供tokenlist,规则实现者通过匹配需要的字符找到感兴趣的代
码,然后通过计算查找bug注意点:其中Cppcheck会做预处理和简化代码的操作,比如include头文件,
展开宏,在每一个token直接用一个空格分隔等。

2. 开发中使用主要的类有:
(1)Tokenizer类: 代码token化, 计划代码
(2)SymbolDatabase类:符号数据库,生成和存储各种符号:scope,function, variable等
(3)Scope类: 各种代码block。最常用的有functionScopes, classAndStructScopes等
(4)Token类: 里面有str(), next(), previous(), tokAt(), link(),Match()等常用函数
(5)Variable类:getTypeString()  
(6)Function类:可以找到实现的scope
(7)Value类: token可以通过getValue()得到可能的值

3. 作为编译器的一种补充检查,cppcheck对产品的源代码执行严格的逻辑检查。 执行的检查包括:
(1)自动变量检查
(2)数组的边界检查
(3)class类检查
(4)过期的函数,废弃函数调用检查
(5)异常内存使用,释放检查
(6)内存泄漏检查,主要是通过内存引用指针
(7)操作系统资源释放检查,中断,文件描述符等
(8)异常STL 函数使用检查
(9)代码格式错误,以及性能因素检查

三、 CppCheck的使用

1.	自动变量检查	

在这里插入图片描述

2.	数组的边界检查

在这里插入图片描述

3.	Class类检查

在这里插入图片描述

4.	过期的函数,废弃函数调用检查

在这里插入图片描述

5.	异常内存使用,释放检查

在这里插入图片描述

6.	内存泄漏检查

在这里插入图片描述

7.	操作系统资源释放检查

在这里插入图片描述
8. 异常STL函数使用检查
在这里插入图片描述

10.	代码格式错误检查

在这里插入图片描述

四、 心得体会
经过一段时间的学习,对CppCheck进行了了解和学习,并且使用它进行了各种对应的测试,在这个过程中,自己的一些方面有了进步,比如软件的安装配置,软件的使用,代码的编写等,每一个不同的实验都能带来不同的成长,感谢老师在课堂上大量的提问的方式,同样使我学到了很多,对软件测试有了一些自己的想法,并且通过紧张的提问,很容易的就记住了这门课的知识,对做实验有所帮助。

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员一修

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值