Быстрый запуск PVS-Studio С/C++ в Linux и macOS
Здесь представлено руководство для быстрого запуска анализа проекта. На этой странице перечислены далеко не все возможности анализатора. Если вы хотите ознакомиться со всем функционалом, вы можете обратиться к полной документации.
Введение
Статический анализатор С/C++ кода PVS-Studio на Linux и macOS представляет собой консольное приложение с именем pvs-studio-analyzer и несколько вспомогательных утилит. Также присутствуют интеграции с VS Code, Qt Creator, CLion в качестве плагина, предоставляющие удобный интерфейс для анализа проектов. Для анализа необходимо иметь настроенное окружение для сборки вашего проекта.
Информация о файле лицензии
Вы можете запросить лицензию для знакомства с PVS-Studio через форму. О том, как ввести полученную лицензию в Linux и macOS, написано здесь.
Интеграция в среды разработки
PVS-Studio предоставляет плагины для следующих сред:
Использование pvs-studio-analyzer
Перед запуском анализа необходимо выполнить один из следующих шагов для получения модели сборки проекта.
Важно. Проект должен успешно компилироваться и быть собран перед анализом.
Генерация JSON Compilation Database (Linux, macOS)
На этой странице приведены инструкции для запуска анализа на основе файлов compile_commands.json. Он подходит для широко используемых инструментов сборки, таких как CMake, Ninja, GNU Make, Qt Build System, Xcode.
Трассировка компиляции (только Linux)
Для работы этого метода необходима установленная утилита strace. С её помощью анализатор может собрать необходимую информацию о компиляции проекта во время его сборки.
Собрать проект и отследить процесс его компиляции можно с помощью команды:
pvs-studio-analyzer trace [-o <FILE>] -- build_command
build_command – команда, используемая для сборки проекта, пример:
pvs-studio-analyzer trace -- cmake build .
В результате трассировки по умолчанию будет сформирован файл strace_out. Подробнее о режиме трассировки можно узнать здесь.
Запуск анализа проекта
После получения файла трассировки компиляции (strace_out) или JSON Compilation Database (compile_commands.json) можно запустить анализ, выполнив команду:
pvs-studio-analyzer analyze -o /path/to/PVS-Studio.log \
-e /path/to/exclude-path \
-j <N>
Команда analyze предполагает наличие файлов strace_out или compile_commands.json в текущем рабочем каталоге. Можно указать явно расположение этих файлов при помощи флага ‑‑file (-f).
Работа с результатами анализа
Для преобразования отчёта анализатора в различные форматы (*.xml, *.tasks и т.п.) можно воспользоваться утилитой plog-converter. Подробнее об утилите можно прочесть тут.
Пример конвертации отчета анализатора в json формат:
plog-converter -a GA:1,2 \
-t json \
-o /path/to/Analysis_Report.json \
/path/to/PVS-Studio.log
Предупреждения анализатора будут сохранены в указанный Analysis_Report.json файл.