﻿# Как работать с отчетом PVS\-Studio в Linux

У меня есть обращение ко всем пользователям Linux\-версии PVS\-Studio 6\.10\.

![0444_plog-converter_ru/image1.png](https://import.viva64.com/docx/blog/0444_plog-converter_ru/image1.png)

**WARNING\! Хочу обратить внимание, что сырой лог, полученный сразу после проверки, использовать нельзя\! Он не предназначен для просмотра и служит только как источник данных для программы plog\-converter\.**

К нам стало приходить большое количество писем о том, что результатами работы PVS\-Studio пользоваться невозможно\. Программисты получают огромный файл с тысячами одинаковых сообщений на один заголовочный \*\.h файл и прочим мусором\. Мучаются, жалуются\. Другие, наверное, не жалуются, а молча теряют интерес к PVS\-Studio\.

Эти файлы и не предназначены для просмотра\. Для преобразования их в "человеческий" формат служит утилита plog\-converter, описанная в [документации](https://pvs-studio.ru/ru/docs/manual/0036/)\. Эта утилита не только преобразует лог, но и удаляет в нём дубликаты для h\-файлов, фильтрует сообщения и так далее\. Например, есть смысл начать изучение отчета с предупреждений общего назначения первого и второго уровня \(ключ \-a GA:1,2\)\. Это очень важно, так как иначе программист просто утонет в сообщениях\.

В следующей версии мы планируем изменить изначальный формат лога, чтобы было понятно, что это некий бинарный формат, и он не предназначен для просмотра\. Это должно подсказать программисту, что с этим файлом надо ещё что\-то сделать и он, продолжив в чтение документации, будет узнавать про plog\-converter\.

P\.S\. Заранее отвечу на вопрос: "А можно было сделать, чтобы сразу выдавался отфильтрованный отчёт?"

Можно, но есть две причины так не делать\.

1\. Скорость\. Сейчас при параллельном анализе каждый процесс просто пишет в конец файла\. Таким образом, файл блокируется только для однократной записи\. Это быстро, и разные анализаторы друг друга почти никогда не ждут\. Если сразу фильтровать дубликаты для h\-файлов, каждый раз нужно делать поиск по файлу\. Это значительно дольше, и анализаторы начнут ждать друг друга\. Начнутся простои и время анализа увеличится\.

2\. Наличие полного списка всех сообщений позволяет делать разные выборки без необходимости заново проводить полный анализ\. Т\.е\. посмотрели некий отчёт, поняли, что не хотим смотреть диагностики 3\-его уровня\. Поправили настройки, запустили plog\-converter и через минуту имеем новый отчёт\. Иначе, пришлось бы ждать час пока вновь будет анализироваться проект