我是PVS Studio的新手。我已经以独立模式(没有Visual Studio)安装了它。我想从Windows 7 Professional 64位版本的命令行(从Cygwin64 Terminal)运行PVS Studio。我只想静态分析一个文件“ main.c”。我使用官方文档:https://www.viva64.com/ru/m/0006/#ID0E2H。我要检查位于测试文件“ main.c”中的简单代码段:
#include <stdio.h>
int main(void)
{
int a = 1;
int b = 2;
printf("%s: test message; 'a': '%d'; 'b': '%d'\n",
__FUNCTION__, a, b, (a + b));
return 0;
}
我的代码段已由'mingw32-make.exe'成功编译。 我已经从命令行运行了这些命令(从Cygwin64 Terminal以用户模式运行,而不是以管理员模式运行):
cd /cygdrive/c/Program\ Files\ \(x86\)/PVS-Studio/x64
./PVS-Studio.exe --cl-params "C:\\all\\projects\\c\\pvs_studio\\2\\main.c" /D"x64" /I"C:\\all\\projects\\c\\pvs_studio\\2" --source-file "C:\\all\\projects\\c\\pvs_studio\\2\\main.c" --cfg "C:\\all\\projects\\c\\pvs_studio\\2\\PVS-Studio.cfg" --output-file "c:\\all\\projects\\c\\pvs_studio\\2\\output.txt"
“ PVS-Studio.cfg”文件的内容:
vcinstalldir = C:\all\soft\mingw\bin\gcc.exe
platform = x64
preprocessor = gcc
language = C
“ output.txt”文件的内容:
Viva64-EM
<#~>full
<#~>1
<#~>c:\all\projects\c\pvs_studio\2\main.c
<#~>error
<#~>V008
<#~>Unable to start the analysis on this file. Preprocessor exit code: 1.
<#~>false
<#~>0
<#~><#~><#~><#~>
发生错误“ V008”。如何解决此错误?我已经阅读了以下文档:https://www.viva64.com/ru/w/v008/,但不知道错误在哪里?
答案 0 :(得分:1)
尝试将'vcinstalldir'设置为'C:\ all \ soft \ mingw \ bin \'-此参数应指向编译器的安装目录,而不是编译器的完整路径。如果在那之后仍然出现V008错误,请检查分析器的stdErr进程,它应包含有关预处理可能失败的其他信息。
或者,您可以自己运行预处理,然后将生成的预处理文件通过“ i-file”参数传递给分析器。在这种情况下,您还应该在配置中传递“ skip-cl-exe = yes”。这样,您可以自己控制预处理。