﻿# PVS\-Studio 7\.07

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

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

## Работа над ошибками

Между релизами анализатора Microsoft выпустила несколько обновлений для компилятора Visual C\+\+, в которых появилась начальная поддержка стандарта C\+\+20, например, концептов\. Обычно компании не спешат обновлять компиляторы, т\.к\. самые свежие версии могут быть не самыми стабильными\. Но такие компании есть, причём и среди наших клиентов\. Некоторые пользователи могли столкнуться с такой ошибкой:

_V003 Unrecognized error found: PtreeCpp11Initializer was constructed incorrectly\. Consider inspecting the '\_\_cdecl VivaCore::PtreeCpp11Initializer::PtreeCpp11Initializer\(const char \*,class VivaCore::Ptree \*,class VivaCore::Ptree \*\)' constructor\._

С радостью сообщаем, что в [PVS\-Studio 7\.07](https://pvs-studio.ru/ru/pvs-studio/download/) эта ошибка исправлена\. Концепты поддержаны\. Тут важно отметить, что поддержка новых стандартов разработчиками компиляторов и разработчиками анализаторов отличается\. Для нас это не очень болезненный процесс, поэтому быстро справились с задачей\. А в будущем подумаем, как синхронизировать наши обновления с обновлениями компиляторов\.

## Новые диагностики

Кроме повышения стабильности и подготовки новых продуктов \(об этом будет далее\), мы сделали несколько новых диагностических правил:

* [V1053](https://pvs-studio.ru/ru/docs/warnings/v1053/)\. Calling the 'foo' virtual function in the constructor/destructor may lead to unexpected result at runtime\.
* [V1054](https://pvs-studio.ru/ru/docs/warnings/v1054/)\. Object slicing\. Derived class object was copied to the base class object\.
* [V1055](https://pvs-studio.ru/ru/docs/warnings/v1055/)\. The 'sizeof' expression returns the size of the container type, not the number of elements\. Consider using the 'size\(\)' function\.
* [V2573](https://pvs-studio.ru/ru/docs/warnings/v2573/)\. MISRA\. Identifiers that start with '\_\_' or '\_\[A\-Z\]' are reserved\.

## Плагин для SonarQube

Мы давно выпустили плагин для SonarQube с поддержкой работы в Windows и Linux\. Работа плагина в macOS не была востребована до недавнего времени, но, тем не менее, спрос появился, и добавили платформу в поддержку\. Смотрите обновлённую [документацию](https://pvs-studio.ru/ru/docs/manual/0037/)\.

## C\# анализатор для Linux и macOS

Те новые продукты, на которые я ранее ссылался, C\# анализатор для Linux и macOS и плагин для JetBrains Rider, к сожалению, не вошли в этот релиз, как мы ожидали\. Но мы проделали большую работу, и новые продукты готовы\. Примерно месяц назад мы [объявили](https://pvs-studio.ru/ru/blog/posts/0716/) сбор заявок на участие в Beta\-тесте\. Сразу после релиза мы планируем запустить тестирование, так что если вы ещё не подали заявку, то это всё ещё можно сделать\.

## Другие обновления

* В утилите для преобразования XML отчётов анализатора \(PlogConverter\) добавлена поддержка формата для Continuous Integration сервера TeamCity\.
* Сommand line анализатор Visual Studio \\ MSBuild проектов \(PVS\-Studio\_Cmd\.exe\) теперь умеет выбирать отдельные проекты для анализа с помощью флагов \-\-selectProjects / \-\-excludeProjects\.