Краткое руководство. Анализ кода для C/C++
Можно улучшить качество приложения, запуская регулярно анализатор кода C или C++.Это может помочь найти общие ошибки, нарушения правил программирования или ошибки, которые сложно обнаружить через тестирование.Предупреждения анализа кода отличается от ошибок и предупреждений компилятора, поскольку анализ кода выполняет поиск для конкретных шаблонов кода, которые синтаксически допустимы, но все равно могут быть причиной проблем для пользователей данного кода.
Требования
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional
В этом разделе
Настройка наборов правил для проекта
В Обозреватель решений откройте контекстное меню для имени проекта, а затем выберите Свойства.
Следующие шаги не обязательны:
В списках Конфигурация и Платформа выберите конфигурацию построения и целевую платформу.
По умолчанию при анализе кода не выводятся сообщения об ошибках в коде, автоматически созданном внешними средствами.Чтобы просмотреть предупреждения из созданного кода, снимите флажок Исключить результаты из созданного кода.
Примечание Данный параметр не скрывает ошибки и предупреждения, полученные из созданного кода, если такие ошибки и предупреждения появляются в формах и шаблонах.В данном случае возможен просмотр и поддержка исходного кода для формы или шаблона.
Для выполнения анализа кода при каждом построении проекта с помощью указанной конфигурации установите флажок Включить анализ кода в построении для С/С++.Также можно выполнить анализ кода в ручном режиме, открыв меню Анализ и выбрав пункт Запустить анализ кода на ProjectName.
В списке Выполнить этот набор правил выполните следующие действия.
Выберите набор правил, который следует использовать.
Нажмите <Обзор...>, чтобы указать существующий настраиваемый набор правил, если его нет в списке.
Определите настраиваемый набор правил.
Для получения дополнительной информации см. Создание настраиваемых наборов правил анализа кода.
Стандартные наборы правил C/C++
Visual Studio включает два стандартных набора правил для машинного кода:
Набор правил |
Описание |
---|---|
Минимальный набор рекомендованных правил Майкрософт для приложений в машинном коде |
Эти правила связаны с наиболее важными проблемами в машинном коде, включая возможные уязвимости безопасности и случаи аварийного завершения работы приложений.Этот набор правил следует включать во все пользовательские наборы правил, создаваемые для проектов с машинным кодом. |
Рекомендованные правила Майкрософт для приложений в машинном коде |
Этот набор правил охватывает широкий диапазон проблем.Он включает все правила минимального набора рекомендованных правил Майкрософт. |
Запустите анализ кода.
На странице анализа кода страницы свойств проекта можно настроить анализ кода для выполнения при каждом построении проекта.Также можно выполнить анализ кода вручную.
Выполнение анализа кода в решении:
- В меню Построение выберите Выполнить анализ кода в решении.
Выполнение анализа кода в проекте:
В Обозревателе решений выберите имя проекта.
В меню Построение выберите Выполнить анализ кода в Project Name.
Проект и решение скомпилировано, а анализ кода запущен.Результаты отображаются в окне анализа кода.
Анализ и исправление предупреждений анализа кода.
Для анализа конкретного предупреждения, выберите имя в окне предупреждений анализа кода.Предупреждение разворачивается для отображения дополнительных сведений об этой проблеме.Анализ кода показывает номер строки и логику анализа, ставших причиной предупреждения, если это возможно.Для получения дополнительных сведений о предупреждении, включая возможные решения проблемы, выберите идентификатор предупреждения для отображения раздела справки библиотеки MSDN для сообщения.
Если развернуть предупреждение, то строка кода, которая вызвала предупреждение, будет выделена в редакторе кода Visual Studio.
После определения проблемы, можно исправить ошибку в коде.Затем повторно запустите анализ кода для того, чтобы убедиться в том, что предупреждение больше не отображается в окне анализа кода, и что исправление не вызывает новые предупреждения.
Совет |
---|
Можно повторно запустить анализ кода из окна анализа кода.Нажмите кнопку Анализировать и выберите область анализа.Можно повторно запустить анализ на всем решении или на выбранном проекте. |
Подавление предупреждений анализа кода
В некоторых случаях можно не устранять предупреждение анализа кода.Возможно, исправление предупреждения требует слишком значимых изменений кода по сравнению с вероятностью возникновения проблем в реальном применении кода.Возможно, анализ, используемый в предупреждении, неуместен для заданного контекста.Можно подавить отдельные предупреждения, чтобы они больше не отображались в окне анализа кода.
Подавление предупреждения:
Если подробные данные не отображаются, выберите имя предупреждения для его развертывания.
Выберите ссылку Действия внизу предупреждения.
Выберите Подавить сообщение, а затем выберите В исходном.
Подавляющее сообщение помещается в #pragma warning (disable:WarningId), что отключает предупреждение для строки кода.
Создание рабочих элементов для предупреждений анализа кода
Для внесения ошибок в журнал можно использовать функцию отслеживания рабочих элементов, доступную в Visual Studio.Для использования этой функции, необходимо подключиться к экземпляру Team Foundation Server.
Создание рабочего элемента для одного или нескольких предупреждений C/C++
В окне анализа кода, разверните и выберите предупреждения
В контекстном меню для предупреждений выберите Создать рабочий элемент, а затем выберите тип рабочего элемента.
Visual Studio создает один рабочий элемент для выбранных предупреждений и отображает рабочий элемент в окне документа интегрированной среды разработки.
Добавьте любые дополнительные сведения, а затем выберите Сохранить рабочий элемент.
Поиск и фильтрация результатов анализа кода
Можно выполнять поиск длинных списков сообщений предупреждений и можно отфильтровать предупреждения в решениях нескольких проектов.
Фильтрация предупреждений по имени или идентификатору предупреждения: Введите ключевое слово в текстовое поле Фильтр.
Фильтрация предупреждений по проектам: В решении нескольких проектов выберите один или несколько проектов в списке в верхней правой части окна анализа кода.Выберите имя решения для отображения всех предупреждений.
Фильтрация предупреждения по важности: По умолчанию сообщениям анализа кода присвоена важность Предупреждение.Можно присвоить важность одного или нескольких сообщений как Ошибка в наборе настраиваемых правил.Выберите или Предупреждение, или Ошибка для отображения только сообщений, которым присвоена соответствующая важность.Выберите Все для отображения всех сообщений.