Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
Быстрый запуск PVS-Studio С/C++ в Linux…

Быстрый запуск 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 файл.

close form

Заполните форму в два простых шага ниже:

Ваши контактные данные:

Шаг 1
Поздравляем! У вас есть промокод!

Тип желаемой лицензии:

Шаг 2
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности
close form
Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Бесплатная лицензия PVS‑Studio для специалистов Microsoft MVP
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
check circle
Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок:

  • Промоакции
  • Оповещения
  • Спам