在Debian系統上使用GCC進行代碼靜態分析,可通過以下工具和方法實現:
GCC內置警告選項
編譯時添加 -Wall -Wextra -pedantic
選項,啟用常見警告、額外警告及嚴格遵循標準檢查:
gcc -Wall -Wextra -pedantic -o program program.c
內存與未定義行為檢測
-fsanitize=address
選項。-fsanitize=undefined
選項。Clang Static Analyzer
安裝后通過 scan-build
或 clang --analyze
進行深度靜態分析,支持生成HTML報告:
sudo apt install clang clang-tools
scan-build -o report make # 分析整個項目
clang --analyze -Xanalyzer -analyzer-output=html file.c # 分析單個文件
Cppcheck
專注C/C++代碼,檢測內存泄漏、整數溢出等問題,安裝后直接運行:
sudo apt install cppcheck
cppcheck --enable=all file.c
其他工具集成
splint file.c
。注:部分工具(如GCC靜態分析器)需通過插件或特定選項啟用,建議根據項目需求選擇組合方案。