﻿# Настройки: Specific Analyzer Settings

На вкладке **Specific Analyzer Settings** размещены дополнительные расширенные настройки анализатора\.

## Analysis Timeout

Настройка позволяет совсем отключить прерывание анализа по лимиту времени или задать лимит времени, по истечении которого анализ отдельных файлов завершается с ошибкой [V006\. File cannot be processed\. Analysis aborted by timeout](https://pvs-studio.ru/ru/docs/warnings/v006/)\. Перед изменением рекомендуем внимательно ознакомиться с описанием ошибки по указанной выше ссылке\. Часто таймаут возникает из\-за нехватки оперативной памяти\. В этом случае рационально не увеличивать время, а уменьшить количество используемых параллельных потоков\. Это может дать существенный прирост производительности, когда процессорных ядер много, а оперативной памяти мало\.

## No Noise

Настройка отключает генерацию предупреждений низкого уровня достоверности \(**Low Certainty**, 3\-ий уровень предупреждений\)\. После перезапуска анализа сообщения этого уровня пропадут из вывода анализатора\.

Позже можно выключить режим **No Noise**: при следующем анализе все пропавшие ранее предупреждения станут вновь доступны\.

## Use Old Cpp Parser

Настройка отключает новый парсер для C\+\+ анализатора и возвращает старый\. Включите её, если у вас возникли проблемы с C\+\+ анализатором\.

## Report Disabled Rules

Настройка позволяет включать вывод исключений правил анализатора, которые можно указать с помощью комментариев в файле `.pvsconfig`\.

## Disable Template Instantiation Cpp

Настройка отключает подстановку параметров шаблона при анализе C\+\+\. Это снижает потребление оперативной памяти, но анализ становится менее тщательным\.

## Security Related Issues

Включение настройки позволяет в столбце `SAST` в результатах анализа выделить дополнительной маркировкой предупреждения, относящиеся к потенциальным проблемам безопасности и классифицируемые согласно ГОСТ Р 71207\-2024\.

## Dependency Cache Tracking Mode

Настройка определяет режим отслеживания исходных файлов в кэше зависимостей:

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

## Intermodular Analysis Cpp


> \*\*Примечание\\\.\*\* Начиная с версии PVS\\\-Studio 7\\\.26, настройка убрана\\\. Теперь, чтобы запустить межмодульный анализ для С и С\\\+\\\+ проектов, используйте меню запуска анализа\\\.

Включение настройки позволяет анализатору учитывать информацию не только из анализируемого файла, но и из связанных с ним файлов\. Это позволяет производить более глубокий и качественный анализ, но увеличивает время проверки\.

Режим актуален для C и C\+\+ проектов\. C\# проекты обеспечивают межмодульный анализ по умолчанию\.

## Disable Incremental PCH Tracking

Настройка отключает инкрементальный анализ исходных файлов кода на C и C\+\+, затрагиваемых изменениями в предварительно компилируемом заголовочном файле и заголовочных файлах, включённых в него\. Полезна в ситуациях, когда эти файлы часто меняются, и из\-за этого время инкрементального анализа значительно увеличивается\.

При изменении настройки из IDE Visual Studio изменения вступят в силу после следующего открытия решения или проекта\. Если анализ запускается через консольную утилиту `PVS-Studio_Cmd`, то анализатор сразу задействует настройку\.

## Incremental Analysis Timeout

Настройка позволяет задать лимит времени, по истечении которого инкрементальный анализ файлов остановится\. Все предупреждения, обнаруженные на момент остановки анализа, будут выданы в окне PVS\-Studio\. Дополнительно к ним будет выдано предупреждение, что анализатор не успел обработать все изменённые файлы, а также информация о суммарном и проанализированном количестве файлов\.

Опция актуальна только при работе из IDE Visual Studio\.

## MISRACVersion

Настройка позволяет выбрать версию стандарта MISRA\. Для C доступны версии 2012 и 2023\.

## Perform Custom Build Step

Включение настройки позволяет перед запуском анализа выполнять действия, записанные в секции **Custom Build Step** проектного файла Visual Studio \(`.vcproj`/`.vcxproj`\)\. Для корректной работы анализатору необходим компилирующийся код\. Например, если **Custom Build Step** используется для генерации `.h` файлов перед компиляцией, необходимо включить настройку и выполнить код перед анализом проекта\. Если же на данном шаге выполняются действия, относящиеся, например, к линковке, они не повлияют на результат работы анализатора\. Действия **Custom Build Step** задаются на уровне проекта и будут выполнены PVS\-Studio при первоначальном обходе дерева проектов\. Если настройка включена и в результате её выполнения получен ненулевой код, проверка такого проекта не будет запущена\.

## Perform TFVC Checkout

Включение настройки позволяет автоматически выполнять checkout с использованием **Team Foundation Version Control Tool** при редактировании файлов, содержащих подавленные предупреждения анализатора \(`.suppress` файлы\)\. Её включение не повлияет на работу с проектами, которые не находятся под управлением системы контроля версий TF или не добавлены в workspace Visual Studio\.

Дополнительная информация, в случае её наличия \(в т\.ч\. информация об ошибках\), будет выводиться в окно **PVS\-Studio**\.

Данная опция актуальна только при работе из IDE Visual Studio\.

## Save File After False Alarm Mark

Пометка сообщения как ложного срабатывания\. Требует внесения изменений в файлы с исходным кодом\. Анализатор по умолчанию сохраняет каждый файл с исходным кодом после пометки\. Однако если подобное частое сохранение нежелательно \(например, если файлы находятся на другой машине локальной сети\), оно может быть отключено с помощью этой настройки\.

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

## Display False Alarms

Настройка позволяет включить отображение сообщений, размеченных как **False Alarms**, в окне вывода PVS\-Studio\. Она будет применена в окне сообщений PVS\-Studio сразу, без необходимости запускать анализ повторно\. Когда выставлено значение **true**, специальный индикатор **FA**, отображающий количество ложных срабатываний, появится на панели окна вывода\.

## Enable False Alarms With Hash

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

## Disable Synchronization Of Suppress Files

Настройка отключает автоматическую синхронизацию suppress\-файлов между проектами в рамках одного решения\.

По умолчанию синхронизация suppress\-файлов включена\. Если какой\-либо файл исходного кода используется в нескольких проектах, и предупреждения из этого файла были добавлены в suppress\-файл хотя бы одного проекта, то при анализе других проектов эти предупреждения автоматически будут дописаны в их suppress\-файлы\.

## Integrated Help Language

Настройка позволяет задать язык для встроенной справки по диагностическим сообщениям \(клик по коду ошибки в окне вывода сообщений PVS\-Studio\) и документации \(команда меню **PVS\-Studio \> Help \> Open PVS\-Studio Documentation \(html, online\)**\) PVS\-Studio, доступных на нашем [сайте](https://pvs-studio.ru/ru/docs/)\.

Настройка не меняет язык интерфейса IDE плагина PVS\-Studio или выдаваемых анализатором диагностических сообщений\.

## Use Offline Help

Настройка позволяет использовать оффлайн\-справку по диагностическим сообщениям \(клик по коду ошибки в окне вывода сообщений PVS\-Studio\)\.

## Show Best Warnings Button

Опция отвечает за отображение кнопки **Best** в интерфейсе PVS\-Studio\. По умолчанию опция включена, и кнопка **Best** доступна в таблице срабатываний\. Используя её, можно просмотреть 10 наиболее интересных предупреждений анализатора\. Вы можете скрыть эту кнопку, определив данный параметр как **False**\.

## Show Tray Icon

Настройка позволяет управлять уведомлениями о работе анализатора PVS\-Studio\. После завершения анализа в случае, если окно **PVS\-Studio Output** содержит сообщения об ошибках \(они могут быть скрыты фильтрами как ложные срабатывания, по именам проверяемых файлов и т\.п\.; такие сообщения не попадают в окно **PVS\-Studio**\), анализатор проинформирует об их наличии с помощью всплывающего сообщения в области уведомления Windows \(notification area, system tray\)\. Одинарный щелчок мыши сообщению либо по значку PVS\-Studio откроет окно вывода сообщений PVS\-Studio с найденными ошибками\.

## Incremental Results Display Depth

Настройка задаёт режим отображения уровней сообщений в окне **PVS\-Studio Output** для результатов работы инкрементального анализа\. Установка в данном поле глубины уровня отображения \(соответственно, только 1 уровень; 1 и 2 уровни; 1, 2 и 3 уровни\) приведёт к их автоматическому включению после завершения инкрементального анализа\. Значение `Preserve_Current_Levels` сохранит существующие настройки уровней без изменений\.

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

## Trace Mode

Настройка задаёт режим трассировки \(протоколирования хода выполнения программы\) для IDE\-пакета расширения PVS\-Studio \(плагина для сред Visual Studio\)\. Трассировка имеет несколько уровней детализации вывода \(режим **Verbose** соответствует наиболее подробному протоколированию\)\. При включении режима трассировки PVS\-Studio автоматически создаёт лог\-файл в директории `AppData\PVS-Studio` с расширением `.log` \(например, `c:\Users\admin\AppData\Roaming\PVS-Studio\PVSTrace2168_000.log`\)\. При этом каждый запущенный процесс IDE будет использовать отдельный лог\-файл для сохранения результатов своей трассировки\.

## Automatic Settings Import

Настройка позволяет включить автоматический импорт настроек \(`.xml`\-файлов\) из директории `%AppData%\PVS-Studio\SettingsImports\`\. Настройки импортируются при каждой загрузке сохранённых настроек, т\.е\. при запуске Visual Studio или command line версии анализатора, при сбросе настроек и т\.п\. При импорте настройки\-флаги \(true/false\), а также настройки, хранящие одно значение \(например, строку\), заменяются настройками из `SettingsImports`_\. _Настройки, имеющие несколько значений \(например, исключаемые директории\), объединяются\.

При наличии в папке `SettingsImports` нескольких `.xml`\-файлов, они будут применены к текущим настройкам в соответствии с алфавитным порядком\.

## Use Solution Folder As Initial

По умолчанию PVS\-Studio предлагает сохранять файл отчёта \(`.plog`\) в той же папке, что и `.sln`\-файл\.

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

## Save Modified Log

Настройка задаёт, как будет отображаться запрос на сохранение отчёта работы анализатора перед началом нового анализа или загрузкой другого отчёта в случае, если окно вывода уже содержит новые, несохранённые или модифицированные результаты работы анализатора\. Установка настройки **Yes** включит автоматическое сохранение результатов в текущий файл отчёта \(после того, как он в первый раз будет указан в диалоге о сохранении файла\)\. После установки настройки **No** IDE\-плагин будет перезаписывать текущие результаты работы анализатора без сохранения\. Выбор значения `Ask_Always` \(используется по умолчанию\) приведёт к выдаче запроса на сохранение отчёта каждый раз, позволяя пользователю сделать выбор\.

## Source Tree Root

По умолчанию при генерации диагностических сообщений PVS\-Studio выдаёт полные пути до файлов, в которых анализатор нашёл ошибки\. С помощью настройки можно задать корневую часть пути, которую анализатор будет автоматически подменять на специальный маркер в случае, если путь до файла, на который сгенерировано сообщение, начинается с заданного корня\. Например, абсолютный путь до файла `C:\Projects\Project1\main.cpp` будет заменён на относительный путь `|?|Project1\main.cpp`, если `C:\Projects\`, который был указан в качестве корня\.

При работе с отчётом PVS\-Studio, содержащем пути до файлов в относительной форме, IDE\-плагин автоматически подставляет значение данной настройки вместо маркера `|?|`\. Использование настройки позволит работать с фалом отчёта PVS\-Studio на любой машине, имеющей доступ к проверенным исходникам, вне зависимости от их местоположения в файловой системе\.

Детальное описание данного режима работы доступно [здесь](https://pvs-studio.ru/ru/docs/manual/0027/)\.

## Use Solution Dir As Source Tree Root

Настройка включает или выключает режим использования пути до папки, содержащей файл решения `*.sln`, в качестве параметра `Source Tree Root`\.

## Autoload Unreal Engine Log

Настройка позволяет автоматически загружать отчёт, полученный в результате анализа Unreal Engine проекта, в окно вывода сообщений PVS\-Studio\.

Опция актуальна только при работе из IDE Visual Studio\.