﻿# PVS\-Studio 7\.26: запуск анализа из VS Code и Qt Creator, интеграция с DefectDojo и не только

Вышел новый релиз PVS\-Studio — 7\.26\. Запускайте анализ через плагины для VS Code и Qt Creator\. Загружайте результаты анализа в DefectDojo\. Больше подробностей об этих и прочих улучшениях — в этой заметке\.  

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




> Загрузить актуальную версию PVS\\\-Studio можно \[здесь\]\(https://pvs\-studio\.ru/ru/pvs\-studio/try\-free/\)\\\.



**Visual Studio Code и Qt Creator: запуск анализа и подавление предупреждений**

В плагинах PVS\-Studio для Visual Studio Code и Qt Creator появилась возможность анализа C и C\+\+ проектов\. Кроме того, теперь плагины поддерживают функцию массового подавления предупреждений \(с помощью suppress\-файлов\)\. Это позволит скрыть предупреждения анализатора на legacy\-код и работать только с новыми предупреждениями, что упростит внедрение анализатора в проект\. Подробнее об этом читайте в статье "[Как внедрить статический анализатор кода в legacy проект и не демотивировать команду](https://pvs-studio.ru/ru/blog/posts/0743/)"\. 

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

Запускать анализ можно на проектах, использующих следующие сборочные системы:

* Visual Studio Code: CMake;
* Qt Creator: CMake, QMake, Qbs\.

Более подробная информация собрана в документации:

* [PVS\-Studio для Visual Studio Code](https://pvs-studio.ru/ru/docs/manual/6646/)\. 
* [PVS\-Studio для Qt Creator](https://pvs-studio.ru/ru/docs/manual/6455/)\.

**Интеграция с DefectDojo**

Результаты анализа PVS\-Studio теперь можно загружать в DefectDojo — DevSecOps\-платформу для работы с инструментами обеспечения безопасности\. Подробности интеграции описаны в [документации](https://pvs-studio.ru/ru/docs/manual/6686/)\. 

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

**Поддержка проектов на основе JDK 20**

Java анализатор теперь работает с проектами, использующими JDK 20 и Java 20, сохраняя обратную совместимость с предыдущими версиями\.

**Новые возможности аннотации функций C и C\+\+ кода**

Аннотации функций дают PVS\-Studio дополнительную информацию, которую он может использовать при анализе\. 

В C\+\+ анализаторе доработан механизм пользовательского аннотирования функций\. Теперь можно писать аннотации для функций на любом уровне вложенности\. Кроме того, при аннотировании допускается использование имени функции без указания класса и пространства имён\. 

Инструкция по написанию аннотаций доступна [здесь](https://pvs-studio.ru/ru/docs/manual/0040/)\.

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

С\+\+

* [V838](https://pvs-studio.ru/ru/docs/warnings/v838/)\. Temporary object is constructed during lookup in ordered associative container\. Consider using a container with heterogeneous lookup to avoid construction of temporary objects\.
* [V1100](https://pvs-studio.ru/ru/docs/warnings/v1100/)\. Unreal Engine\. Declaring a pointer to a type derived from 'UObject' in a class that is not derived from 'UObject' is dangerous\. The pointer may start pointing to an invalid object after garbage collection\.
* [V1101](https://pvs-studio.ru/ru/docs/warnings/v1101/)\. Changing the default value of a virtual function parameter in a derived class may result in unexpected behavior\.

C\#

* [V3191](https://pvs-studio.ru/ru/docs/warnings/v3191/)\. Iteration through collection makes no sense because it is always empty\.
* [V4002](https://pvs-studio.ru/ru/docs/warnings/v4002/)\. Unity Engine\. Avoid storing consecutive concatenations inside a single string in performance\-sensitive context\. Consider using StringBuilder to improve performance\.
* [V4003](https://pvs-studio.ru/ru/docs/warnings/v4003/)\. Unity Engine\. Avoid capturing variable in performance\-sensitive context\. This can lead to decreased performance\.

**Статьи**

Для тех, кто пишет на C\#

* [Всегда ли в C\# есть упаковка при конкатенации со строкой и интерполяции?](https://pvs-studio.ru/ru/blog/posts/csharp/1060/)
* [Ryujinx: повторная проверка эмулятора Nintendo Switch с помощью PVS\-Studio](https://pvs-studio.ru/ru/blog/posts/csharp/1059/)
* [Изучаем подозрительные места в коде AWS SDK для \.NET](https://pvs-studio.ru/ru/blog/posts/csharp/1057/)
* [Обзор Top\-3 Open Source игр на C\# и ошибок в их коде](https://pvs-studio.ru/ru/blog/posts/csharp/1056/)

Для тех, кто пишет на C\+\+

* [Герои Кода и Магии: анализ игрового движка VCMI](https://pvs-studio.ru/ru/blog/posts/cpp/1058/)

Больше статей вы найдёте в нашем [блоге](https://pvs-studio.ru/ru/blog/posts/)\. 

**Записи докладов**

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

* [Межмодульный анализ C\+\+ проектов](https://pvs-studio.ru/ru/blog/video/10834/) 
* [Прокачиваем LLDB, или LLDB formatters](https://pvs-studio.ru/ru/blog/video/10849/)
* [Уязвимость регулярных выражений: теория и практика ReDoS\-атак](https://pvs-studio.ru/ru/blog/video/10848/)
* [Восстание машин: ChatGPT vs статический анализатор](https://pvs-studio.ru/ru/blog/video/10865/)
* [MskDotNet Meetup \#54](https://pvs-studio.ru/ru/blog/video/10863/)

\*\*


> Хотите проверить свой проект с помощью PVS\\\-Studio? Начните с \[этой страницы\]\(https://pvs\-studio\.ru/ru/pvs\-studio/try\-free/\)\\\.