静态分析¶
ArduPilot 常用两种工具对代码库进行静态分析,即 clang 的 "扫描构建 "选项和 Coverity。
Clang Scan-Build¶
您可以使用 autotest 进行静态分析:
./工具/自动测试/自动测试.py 铛-扫描-构建
备注
您可能需要安装 clang 才能运行。
在 Ubuntu 上 sudo apt-get install clang clang-tools
在 Windows 上请参见 https://clang.llvm.org/get_started.html
扫描结果可在网络浏览器中查看。扫描步骤的输出包括说明,内容如下
扫描-观点 文件/扫描-构建-2020-08-11-114140-28761-1
在 Ubuntu 18.04 上,实际上可能需要
飞龙之路=/我们/lib/llvm-3.8/份额/扫描-观点 扫描-观点-3.8 文件/扫描-构建-2020-08-11-114140-28761-1
请注意,该工具目前的输出结果有几个误报,还有一些正报但不应该修正。
- 要做的事情 不 担心:
- EKF 对变量赋值但不读取变量
一般来说,这些都需要过多的审查,不值得一试
- new AP_Frsky_Telem(true); "及类似调用的内存泄漏。
它们会创建单子,为已分配内存提供另一个句柄。