1

我是 PVS 工作室的新手。我已经以独立模式安装它(没有 Visual Studio)。我想从 Windows 7 Professional 64 位的命令行(从 Cygwin64 终端)运行 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 终端,而不是在管理员模式下):

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/ ,但不明白哪里有错误?

4

1 回答 1

1

尝试将 'vcinstalldir' 设置为 'C:\all\soft\mingw\bin\' - 此参数应指向编译器的安装目录,而不是编译器的完整路径。如果在那之后仍然有 V008 错误,请检查分析器的进程 stdErr,它应该包含有关预处理可能失败的原因的附加信息。

或者,您可以自己运行预处理,并通过“i-file”参数将生成的预处理文件传递给分析器。在这种情况下,您还应该在配置中传递“skip-cl-exe = yes”。这种方式允许您自己控制预处理。

于 2018-08-29T06:33:09.610 回答