Поделиться через


Краткое руководство. Анализ кода для C/C++

Можно улучшить качество приложения, запуская регулярно анализатор кода C или C++.Это может помочь найти общие ошибки, нарушения правил программирования или ошибки, которые сложно обнаружить через тестирование.Предупреждения анализа кода отличается от ошибок и предупреждений компилятора, поскольку анализ кода выполняет поиск для конкретных шаблонов кода, которые синтаксически допустимы, но все равно могут быть причиной проблем для пользователей данного кода.

Требования

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional

В этом разделе

Настройка наборов правил для проекта

  1. В Обозреватель решений откройте контекстное меню для имени проекта, а затем выберите Свойства.

  2. Следующие шаги не обязательны:

    1. В списках Конфигурация и Платформа выберите конфигурацию построения и целевую платформу.

    2. По умолчанию при анализе кода не выводятся сообщения об ошибках в коде, автоматически созданном внешними средствами.Чтобы просмотреть предупреждения из созданного кода, снимите флажок Исключить результаты из созданного кода.

      ПримечаниеПримечание

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

  3. Для выполнения анализа кода при каждом построении проекта с помощью указанной конфигурации установите флажок Включить анализ кода в построении для С/С++.Также можно выполнить анализ кода в ручном режиме, открыв меню Анализ и выбрав пункт Запустить анализ кода на ProjectName.

  4. В списке Выполнить этот набор правил выполните следующие действия.

    • Выберите набор правил, который следует использовать.

    • Нажмите <Обзор...>, чтобы указать существующий настраиваемый набор правил, если его нет в списке.

    • Определите настраиваемый набор правил.

      Для получения дополнительной информации см. Создание настраиваемых наборов правил анализа кода.

Стандартные наборы правил C/C++

Visual Studio включает два стандартных набора правил для машинного кода:

Набор правил

Описание

Минимальный набор рекомендованных правил Майкрософт для приложений в машинном коде

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

Рекомендованные правила Майкрософт для приложений в машинном коде

Этот набор правил охватывает широкий диапазон проблем.Он включает все правила минимального набора рекомендованных правил Майкрософт.

Запустите анализ кода.

На странице анализа кода страницы свойств проекта можно настроить анализ кода для выполнения при каждом построении проекта.Также можно выполнить анализ кода вручную.

Выполнение анализа кода в решении:

  • В меню Построение выберите Выполнить анализ кода в решении.

Выполнение анализа кода в проекте:

  • В Обозревателе решений выберите имя проекта.

  • В меню Построение выберите Выполнить анализ кода в Project Name.

Проект и решение скомпилировано, а анализ кода запущен.Результаты отображаются в окне анализа кода.

Анализ и исправление предупреждений анализа кода.

Для анализа конкретного предупреждения, выберите имя в окне предупреждений анализа кода.Предупреждение разворачивается для отображения дополнительных сведений об этой проблеме.Анализ кода показывает номер строки и логику анализа, ставших причиной предупреждения, если это возможно.Для получения дополнительных сведений о предупреждении, включая возможные решения проблемы, выберите идентификатор предупреждения для отображения раздела справки библиотеки MSDN для сообщения.

Если развернуть предупреждение, то строка кода, которая вызвала предупреждение, будет выделена в редакторе кода Visual Studio.

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

СоветСовет

Можно повторно запустить анализ кода из окна анализа кода.Нажмите кнопку Анализировать и выберите область анализа.Можно повторно запустить анализ на всем решении или на выбранном проекте.

Подавление предупреждений анализа кода

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

Подавление предупреждения:

  1. Если подробные данные не отображаются, выберите имя предупреждения для его развертывания.

  2. Выберите ссылку Действия внизу предупреждения.

  3. Выберите Подавить сообщение, а затем выберите В исходном.

Подавляющее сообщение помещается в #pragma warning (disable:WarningId), что отключает предупреждение для строки кода.

Создание рабочих элементов для предупреждений анализа кода

Для внесения ошибок в журнал можно использовать функцию отслеживания рабочих элементов, доступную в Visual Studio.Для использования этой функции, необходимо подключиться к экземпляру Team Foundation Server.

Создание рабочего элемента для одного или нескольких предупреждений C/C++

  1. В окне анализа кода, разверните и выберите предупреждения

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

  3. Visual Studio создает один рабочий элемент для выбранных предупреждений и отображает рабочий элемент в окне документа интегрированной среды разработки.

  4. Добавьте любые дополнительные сведения, а затем выберите Сохранить рабочий элемент.

Поиск и фильтрация результатов анализа кода

Можно выполнять поиск длинных списков сообщений предупреждений и можно отфильтровать предупреждения в решениях нескольких проектов.

  1. Фильтрация предупреждений по имени или идентификатору предупреждения: Введите ключевое слово в текстовое поле Фильтр.

  2. Фильтрация предупреждений по проектам: В решении нескольких проектов выберите один или несколько проектов в списке в верхней правой части окна анализа кода.Выберите имя решения для отображения всех предупреждений.

  3. Фильтрация предупреждения по важности: По умолчанию сообщениям анализа кода присвоена важность Предупреждение.Можно присвоить важность одного или нескольких сообщений как Ошибка в наборе настраиваемых правил.Выберите или Предупреждение, или Ошибка для отображения только сообщений, которым присвоена соответствующая важность.Выберите Все для отображения всех сообщений.