Общие сведения об анализе кода в 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.
См. также
- Краткое руководство. Анализ кода для C/C++
- Пошаговое руководство. Анализ кода C/C++ для дефектов
- Анализ кода для предупреждений C/C++
- Использование средств проверки на соответствие C++ Core Guidelines
- Справочник по проверке основных рекомендаций C++
- Использование наборов правил для указания правил C++ для запуска
- Анализ качества драйвера с помощью средств анализа кода
- Анализ кода для предупреждений драйверов