Интерпретируйте результаты Bug Finder в Polyspace доступ к веб-интерфейсу

Эта тема показывает, как рассмотреть результаты Bug Finder в Polyspace доступ к веб-интерфейсу. Для подобного рабочего процесса в пользовательском интерфейсе десктопных решений Polyspace смотрите, Интерпретируют Результаты Bug Finder в Пользовательском интерфейсе Рабочего стола Polyspace. Чтобы видеть, как рассмотреть результаты Polyspace, когда Вы Кодируете в ИДАХ, смотрите Polyspace Анализа, когда Вы Кодируете Результаты в ИДАХ.

Когда вы открываете результаты анализа Bug Finder в представлении REVIEW Polyspace доступ, вы видите список на панели Results List. Результаты состоят из дефектов, кодируя нарушения правила или метрики кода.

Можно сначала сузить особое внимание анализа:

  • Использование просачивается панель инструментов, чтобы сузить список. Например, можно фокусироваться на дефектах высокого удара.

  • Кликните по заголовку столбца в Results List, чтобы отсортировать список согласно содержимому того столбца. Например, можно отсортировать по Group или по File.

Если вы сужаете и сортируете список, можно начать рассматривать отдельные результаты. Эта тема описывает, как рассмотреть результат.

Чтобы начать ваш анализ, выберите результат в списке.

Интерпретируйте сообщение деталей результата

Интерпретируйте сообщение

Первый шаг должен понять что не так. Считайте сообщение на панели Result Details и связанную строку кода на панели Source Code.

Ищите дополнительные ресурсы для справки

Иногда, вы нуждаетесь в дополнительной помощи для определенных результатов. Кликните по значку, чтобы открыть страницу справки для выбранного результата. Смотрите, что примеры кода иллюстрируют результат. Проверяйте внешние стандарты, такие как CERT-C, которые обеспечивают дополнительное объяснение для устранения проблемы. Когда доступно, щелкните, значок, чтобы видеть фиксируют предложения для дефекта.

На данном этапе вы можете быть готовы решить, устранить ли проблему или нет. Если вы идентифицируете фиксацию, она может помочь рассмотреть все результаты того типа вместе.

Найдите первопричину результата

Иногда, первопричина может быть далека от фактического местоположения, где результат отображен. Например, переменная, которую вы читаете, может быть не инициализирована, потому что инициализация не достижима. Дефект показывают, когда вы читаете переменную, но первопричиной является, возможно, предыдущий if или while условие, которое является всегда ложным.

Перейдите к связанным Событиям

Как правило, панель Result Details показывает одну последовательность событий, которая приводит к результату. Панель Source Code также подсвечивает эти события.

В вышеупомянутом событии traceback, показывают эту последовательность:

  1. Переменная value объявляется.

  2. Путь к выполнению обходит if оператор. Эта информация может быть релевантной, если переменная инициализируется в if блок.

  3. Местоположение текущего дефекта: Non-initialized variable

Как правило, traceback показывает важные пункты в потоке управления: ввод или обход условных операторов или циклов, ввод функции, и так далее. Для определенных дефектов traceback показывает другие виды событий, относящихся к дефекту. Например, для дефекта Declaration mismatch, traceback показывает эти два места с конфликтными объявлениями.

Создайте свой собственный путь навигации

Если событие traceback не доступно, используйте другие инструменты навигации, чтобы проследить ваш собственный путь через код.

Прежде чем вы начнете перейти через трассы в вашем коде, зададите вопрос: Что я ищу? На основе вашего ответа выберите соответствующий инструмент навигации. Например:

  • Чтобы исследовать дефект Non-initialized variable, вы можете хотеть убедиться, что переменная не инициализируется вообще. Чтобы искать предыдущие экземпляры переменной, на панели Source Code, щелкают правой кнопкой по переменной и выбирают Search For All References. Это списки опций только экземпляры определенной переменной и не других переменных с тем же именем в других осциллографах.

  • Исследовать нарушение MISRA C:2012 Rule 17.7:

    The value returned by a function having non-void return type shall be used.
    вы можете хотеть перейти от вызова функции до функционального определения. Щелкните правой кнопкой по функции и выберите Go To Definition.

После того, как вы перейдете далеко от текущего результата, используйте значок на панели Result Details, чтобы возвратиться.

Выбрать различный результат панели Source Code, Ctrl- кликните по результату или щелкните правой кнопкой и выберите Select Results At This Location. Обновления панели Results Details, но результат, который вы выбираете, не подсвечены в панели Results List. Нажатие на результат в Results List обновляет панели Source Code и Results Details.

Похожие темы