Общие сведения об анализе кода в C/C++

Средство анализа кода C/C++ предоставляет сведения о возможных дефектах в исходном коде C/C++. К наиболее распространенным ошибкам кодирования, которые обнаруживает данное средство, относятся переполнение буфера, неинициализированная память, разыменования пустых указателей, а также утечки памяти и ресурсов. Средство также может выполнять проверки в соответствии с основными рекомендациями по C++ .

Интеграция интегрированной среды разработки

Средство анализа кода полностью интегрировано в интегрированную среду разработки Visual Studio.

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

Поддержка командной строки

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

C:\>cl /analyze Sample.cpp

Visual Studio 2017 версии 15.7 и более поздних версий: вы можете запустить средство из командной строки с любой системой сборки, включая CMake.

поддержка #pragma

Директиву #pragma можно использовать для обработки предупреждений как ошибок; включения или отключения предупреждений и подавления предупреждений для отдельных строк кода. Дополнительные сведения см . в директивах Pragma и __pragma _Pragma ключевых словах.

Поддержка примечаний

Заметки повышают точность анализа кода. Заметки содержат дополнительные сведения о предварительных и последующих условиях для параметров функции и типов возвращаемых значений. Дополнительные сведения см. в статье "Использование заметок SAL для уменьшения дефектов кода C/C++".

Запуск средства анализа в рамках политики возврата

Вы можете предъявлять определенные требования к возвратам исходного кода. В частности, нужно убедиться, что анализ выполнялся в рамках самой последней локальной сборки. Дополнительные сведения о включении политики проверки кода см. в разделе "Создание и использование политик проверки кода".

Интеграция Team Build

Интегрированные функции системы сборки можно использовать для запуска средства анализа кода в качестве шага процесса сборки Azure DevOps. Дополнительные сведения см. в описании Azure Pipelines.

См. также