Документация по статическому анализатору кода PVS-Studio
- Введение
- Проверка проектов
- Регулярное использование в процессе разработки
- Интеграция результатов анализа PVS-Studio в инструменты контроля качества кода
- Развёртывание анализатора в облачных CI
- Работа с результатами анализа
- Дополнительная настройка и решение проблем
- Описание диагностируемых ошибок
- Дополнительная информация
Вы можете открыть всю документацию по PVS-Studio одной страницей.
Введение
- Как ввести лицензию PVS-Studio, и что делать дальше
- Ознакомительный режим PVS-Studio
- Системные требования
- Технологии, используемые в PVS-Studio
- История версий
- История версий для старых релизов PVS-Studio (до версии 7.00)
Проверка проектов
На Windows
- Знакомство со статическим анализатором кода PVS-Studio на Windows
- Проверка проектов независимо от сборочной системы (C и C++)
- Прямая интеграция анализатора в системы автоматизации сборки (C и C++)
На Linux и macOS
- Установка PVS-Studio C# на Linux и macOS
- Как запустить PVS-Studio C# на Linux и macOS
- Установка и обновление PVS-Studio C++ на Linux
- Установка и обновление PVS-Studio C++ на macOS
- Как запустить PVS-Studio C++ на Linux и macOS
Кроссплатформенное использование
- Работа с ядром Java анализатора из командной строки
- Кроссплатформенная проверка C и C++ проектов в PVS-Studio
- PVS-Studio для Embedded-разработки
- Анализ C и C++ проектов на основе JSON Compilation Database
Среды разработки
- Работа PVS-Studio в Visual Studio
- Работа PVS-Studio в JetBrains Rider и CLion
- Использование расширения PVS-Studio для Qt Creator
- Интеграция с Qt Creator без использования плагина PVS-Studio
- Использование расширения PVS-Studio для Visual Studio Code
- Работа PVS-Studio в IntelliJ IDEA и Android Studio
Сборочные системы
- Проверка проектов Visual Studio / MSBuild / .NET из командной строки с помощью PVS-Studio
- Интеграция PVS-Studio с помощью CMake-модуля
- Интеграция PVS-Studio Java в сборочную систему Gradle
- Интеграция PVS-Studio Java в сборочную систему Maven
Игровые движки
Регулярное использование в процессе разработки
- Запуск PVS-Studio в Docker
- Запуск PVS-Studio в Jenkins
- Запуск PVS-Studio в TeamCity
- Загрузка результатов анализа в Jira
- PVS-Studio и Continuous Integration
- Режим инкрементального анализа PVS-Studio
- Проверка коммитов и Pull Request'ов
- Автоматическое развертывание PVS-Studio
- Ускорение анализа C и C++ кода с помощью систем распределённой сборки (Incredibuild)
Интеграция результатов анализа PVS-Studio в инструменты контроля качества кода
- Интеграция результатов анализа PVS-Studio в DefectDojo
- Интеграция результатов анализа PVS-Studio в SonarQube
- Интеграция результатов анализа PVS-Studio в CodeChecker
Развёртывание анализатора в облачных CI
- Использование в Travis CI
- Использование в CircleCI
- Использование в GitLab CI/CD
- Использование в GitHub Actions
- Использование в Azure DevOps
- Использование в AppVeyor
- Использование в Buddy
Работа с результатами анализа
- Отображение наиболее интересных предупреждений анализатора
- Использование диагностических правил группы OWASP в PVS-Studio
- Подавление сообщений анализатора (отключение выдачи предупреждений на существующий код)
- Работа со списком диагностических сообщений в Visual Studio
- Подавление ложноположительных предупреждений
- Просмотр и конвертация результатов анализа
- Использование относительных путей в файлах отчётов PVS-Studio
- Просмотр результатов анализа в приложении C and C++ Compiler Monitoring UI
- Оповещение команд разработчиков (утилита blame-notifier)
- Фильтрация и обработка вывода анализатора при помощи файлов конфигурации диагностик (.pvsconfig)
- Исключение из анализа файлов и каталогов
Дополнительная настройка и решение проблем
- Советы по повышению скорости работы PVS-Studio
- Устранение неисправностей при работе PVS-Studio
- Дополнительная настройка диагностик
- Механизм пользовательских аннотаций в формате JSON
- Предопределенный макрос PVS_STUDIO
- Файл конфигурации анализа Settings.xml
- Настройки анализатора (Visual Studio / C and C++ Compiler Monitoring UI)
Описание диагностируемых ошибок
- Сообщения PVS-Studio
- Диагностики общего назначения (General Analysis, C++)
- Диагностики общего назначения (General Analysis, C#)
- Диагностики общего назначения (General Analysis, Java)
- Микрооптимизации (C++)
- Микрооптимизации (C#)
- Диагностика 64-битных ошибок (Viva64, C++)
- Реализовано по запросам пользователей (C++)
- Cтандарт MISRA
- Стандарт AUTOSAR
- Стандарт OWASP (C++)
- Стандарт OWASP (C#)
- Стандарт OWASP (Java)
- Проблемы при работе анализатора кода