我将使用 pvc-studio 检查简单的开源驱动程序,但到目前为止它还没有成功。我的系统是 Debian 4.6.0-amd64。我正在使用本机 x86_64 gcc 编译器。
使用命令运行
pvs-studio-analyzer trace -- make; pvs-studio-analyzer analyze -o ./app.log
打印出来No compilation units found
。
我尝试将调用嵌入到makefile中,如下所示:
CURRENT = $(shell uname -r)
KDIR = /lib/modules/$(CURRENT)/build
PWD = $(shell pwd)
DEST = /lib/modules/$(CURRENT)/misc
PARAMS = -I/usr/src/linux-headers-4.6.0-1-common/include -I/usr/src/linux-headers-4.6.0-1-amd64/include
TARGET1 = file1
TARGET2 = file2
obj-m := $(TARGET1).o $(TARGET2).o
all: default clean
default: file1.c file2.c
pvs-studio --cfg ~/pvs.cfg --source-file $< --cl-params $(CFLAGS) $(PARAMS) $<
$(MAKE) -C $(KDIR) M=$(PWD) modules
...
结果,我收到了许多与内核头文件相关的没有此类文件或目录的错误消息。
我的 .cfg 文件:
exclude-path = /usr/include/
exclude-path = /usr/src/linux-headers-4.6.0-1-amd64/include
exclude-path = /usr/src/linux-headers-4.6.0-1-common/include
platform = linux64
preprocessor = gcc
analysis-mode=4
language = C
我做错了什么?如何正确执行?