﻿# Отображение наиболее интересных предупреждений анализатора

Анализатор PVS\-Studiо позволяет легко посмотреть наиболее интересные предупреждения, чтобы ускорить и упростить ознакомление и начальную работу с отчетом\. Это предупреждения наших самых интересных и опасных диагностических правил, которые с наибольшей вероятностью являются реальными ошибками\.

Данный механизм предназначен прежде всего для знакомства с возможностями анализатора\.

Режим отображения интересных предупреждений не является заменой работы с полным отчётом анализатора, т\.к\. в полном отчёте могут содержаться не менее опасные потенциальные ошибки, на которые также нужно обратить внимание\.

## Принцип работы

В основе механизма отбора интересных предупреждений лежит оценка срабатываний анализатора на основе ряда критериев, которые мы называем весами\. Для каждой диагностики задан изначальный вес, который отражает вероятность обнаружить с её помощью качественную \(интересную\) ошибку\. Веса были проставлены в соответствие с нашим многолетним опытом работы со статическим анализатором и статистикой [анализа разнообразных проектов](https://pvs-studio.ru/ru/blog/inspections/)\. Далее эти веса корректируются с учетом:

* уровня предупреждения;
* имени файла и каталога до него\. Ищем ключевые слова, указывающие, что предупреждение выдано на тесты; 
* частоты появления одной и той же диагностики в проекте, для уменьшения количества однообразных типов предупреждений;
* количества выданных предупреждений на одну строку одного и того же файла\.

В итоге на выходе получается список пар "предупреждение\-вес"\. Из этого списка будет выбрано не более десяти самых "тяжелых" предупреждений\.

## Visual Studio \(C, C\+\+ и C\#\)

Для Microsoft Visual Studio доступен плагин PVS\-Studio, удобно интегрированный в IDE\. Он позволяет [запускать анализ](https://pvs-studio.ru/ru/blog/posts/cpp/0635/) всего solution'а, конкретных проектов или отдельных файлов, а также поддерживает [инкрементальный анализ](https://pvs-studio.ru/ru/docs/manual/0024/)\. 

Механизм отображения интересных предупреждений находится в специальном окне просмотра результатов анализа в Visual Studio:

![BestWarnings_ru/image1.png](https://import.viva64.com/docx/blog/BestWarnings_ru/image1.png)

Данное окно появляется автоматически, например, при выполнении анализа проекта\. Если же его необходимо отобразить вручную, то это делается из настроек расширения PVS\-Studio:

![BestWarnings_ru/image2.png](https://import.viva64.com/docx/blog/BestWarnings_ru/image2.png)

Само окно позволяет выполнять навигацию по найденным предупреждениям и переходить к коду для его исправления\. Также оно предоставляет широкие возможности фильтрации и сортировки результатов\. Дополнительно присутствует возможность быстрого перехода к документации выбранной диагностики\.

Чтобы отобразить лучшие срабатывания, необходимо нажать на кнопку 'Best'\.

В результате в окне окажутся только лучшие предупреждения\. При повторном нажатии в окне будут отображаться все найденные ошибки\.

## IntelliJ IDEA, Rider и CLion

Начиная с версии PVS\-Studio 7\.22 механизм Best Warning поддерживается в плагинах Rider, IntelliJ IDEA и СLion\. Чтобы посмотреть наиболее интересные предупреждения с точки зрения анализатора, нажмите на кнопку 'Best', как показано на скриншоте ниже:

![BestWarnings_ru/image3.png](https://import.viva64.com/docx/blog/BestWarnings_ru/image3.png)

После чего в таблице с результатами анализа останутся максимум десять наиболее критичных предупреждений анализатора\. При повторном нажатии в окне будут отображаться все найденные ошибки\.

## Дополнительные ссылки

Если вы новый пользователь, то также рекомендуем ознакомиться с:

* [Подавление ложно\-позитивных предупреждений](https://pvs-studio.ru/ru/docs/manual/0017/)
* [Советы по повышению скорости работы PVS\-Studio](https://pvs-studio.ru/ru/docs/manual/0023/)
* [Устранение неисправностей при работе PVS\-Studio](https://pvs-studio.ru/ru/docs/manual/0029/)
* [Дополнительная настройка диагностик](https://pvs-studio.ru/ru/docs/manual/0040/)
* [Режим инкрементального анализа PVS\-Studio](https://pvs-studio.ru/ru/docs/manual/0024/)