介绍一款CPP代码bug检测神器
最近使用C++开发的比较多,对于C++开发来说,内存管理是一个绕不开的永恒话题,因此在使用C++特别是指针时经常是慎之又慎,
最怕一不小心就给自己挖了一个坑,刚好最近发现了一个特别好用的C++静态代码分析利器,借助这个强大的分析工具,我们可以很好地将一些空指针,
数组越界等一些常见的bug扼杀在萌芽阶段,正所谓独乐了不如众乐乐,特将这个利器分享给大家。
这个利器就是cppcheck,它的官网是:cppcheck.sourceforge.io/
同时它还提供了在线分析的功能:cppcheck.sourceforge.io/demo/
在这个在线分析工具中,我们只需要将我们需要检测的代码拷贝粘贴到输入框,然后点击Check按钮即可进行代码分析。
当然啦,这个在线分析还是有很多不足的,比如最多只支持1024个字符,无法在线分析多文件,大项目等,如果要分析长文件,甚至是大项目,那就得安装本地使用啦,
下面我们就以CLion为例,简单介绍下cppcheck的安装和使用。
插件cppcheck的安装
首先这个强大的分析工具是有一个CLion插件的,它的连接是:plugins.jetbrains.com/plugin/8143…
我们可以直接在这个地址上进行在线安装,也可以在CLion的插件市场中搜索cppcheck进行安装。
需要注意的是这个插件仅仅是为了在CLion中自动帮我们分析项目代码,它是不包含cppcheck功能的,也就是要让这个插件正常工作,我们还得
手动安装cppcheck,然后在CLion配置好cppcheck的可执行文件的路径才行。
关于这个cppcheck核心功能的安装官网已经说得很清楚,也就是一句命令行的事情。
比如Debian系统可以通过一下命令安装:
sudo apt-get install cppcheck
Fedora的系统可以通过以下命令安装:
sudo yum install cppcheck
至于Mac系统,那肯定就是用神器包管理工具Homebrew进行安装啦:
brew install cppcheck
CLion插件配置cppcheck路径
安装好cppcheck核心工具包和CLion的cppcheck插件工具之后,我们只需要在CLion中配置一下cppcheck工具包的安装路径就可以正常使用啦。
以笔者的Mac系统的CLion为例子,打开CLion后,点击CLion-> Settings -> Other Settings -> Cppcheck Configuration
在弹出框中设置好cppcheck安装包的绝对路径即可。
如果你是使用Homebrew安装的话可以通过命令brew info cppcheck
查找到cppcheck安装的具体路径。
功能实测
为了检测cppcheck这个分析工具的功能,我们新建了一个工程,输入以下代码:
void foo(int x)
{
int buf[10];
if (x == 1000)
buf[x] = 0; // <- ERROR
}
int main() {
int y[1];
y[2] = 1;
return 0;
}
当我们没有安装cppcheck插件时,它是这样子的,看起来没什么问题:
当我们安装了cppcheck插件之后,对于可能会发生潜在的空指针、数组越界、除数为0等等可能导致bug的地方会有高亮提示,
给人一看就有问题的感觉:
当然啦,cppcheck的功能远比这个这个例子所展示的强大,更多惊喜欢迎大家使用体验。
工具是智慧的延伸,在开发的过程选择适合你的工具,可以让我们的工作事半功倍,同行的你如果有好的开发辅助工具欢迎留言分享...
系统话学习博文推荐
音视频入门基础
C++进阶
NDK学习入门
安卓camera应用开发
ffmpeg系列
Opengl入门进阶
webRTC
关注我,一起进步,有全量音视频开发进阶路径、资料、踩坑记等你来学习...
链接:https://juejin.cn/post/7270208019388350524
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。