Polyspace® Bug Finder™ проверяет код C/C++ на дефекты, кодируя нарушения правила или уязвимости системы обеспечения безопасности. После того, как вы запускаете анализ, вы открываете результаты в пользовательском интерфейсе Polyspace (или если вы запустили анализ в Eclipse™, результаты, открытые в Eclipse).
Чтобы выполнить шаги в этом примере, запустите Polyspace с помощью шагов в Запущенном Polyspace Bug Finder на Коде C/C++. Также в пользовательском интерфейсе Polyspace, откройте результаты в качестве примера с помощью Help> Examples> Bug_Finder_Example.psprj. Если вы загрузили результаты в качестве примера ранее и внесли некоторые изменения, чтобы загрузить новую копию, выберите Help> Examples> Restore Default Examples. |
Рассмотрите каждый результат Polyspace. Найдите первопричину проблемы.
Запустите со списка результатов на панели Results List.
Если панель Results List покрывает целое окно, выберите Window> Reset Layout> Results Review.
Если вы не видите плоский список результатов, но вместо этого видите их сгруппированный из списка, выберите None.
Кликните по заголовку столбца Check, чтобы отсортировать результаты в алфавитном порядке. Выберите один из результатов Non-initialized variable.
См. исходный код на панели Source и дополнительной информации о результате на панели Result Details.
Панель Result Details также подсвечивает последовательность продвижения событий к результату. Например, для результата Non initialized variable, вы видите следующие события:
Переменная value
объявляется.
Оператор if
, где value
инициализируется, пропущен.
Переменная value
читается.
Вы также видите эти события, подсвеченные в синем на исходном коде. Иногда, эти события могут быть расположены далеко друг от друга в исходном коде. Кликните по событию на панели Result Details, чтобы перейти к соответствующему местоположению на исходном коде.
См.:
Если вы понимаете первопричину открытия Polyspace, можно зафиксировать код. В противном случае добавьте комментарии в свои результаты Polyspace зафиксировать код позже или выровнять по ширине результат. Можно использовать комментарии, чтобы отслеживать успех анализа.
Щелкните правой кнопкой по переменной value
по панели Source. Выберите Open Editor. Код открывается в текстовом редакторе. Устраните проблему. Например, можно инициализировать value
во время объявления.
int value = -1;
Также, если вы не хотите фиксировать дефект сразу, присвойте состояние To investigate результату. Опционально, добавьте комментарии с дальнейшим объяснением.
Если вы присваиваете состояние No action planned, результат не появляется в последующих выполнениях на том же проекте.
См.:
Когда вы открываете результаты анализа Средства поиска Ошибки, вы видите плоский список дефектов, кодируя нарушения правила или другие результаты. Чтобы организовать ваш анализ, можно сузить список или результаты группы файлом или закончиться тип.
Например, вы можете:
Рассмотрите только высокие дефекты влияния.
Кликните по заголовку столбца Information, чтобы отсортировать дефекты по влиянию. Также можно отфильтровать результаты кроме дефектов высокого влияния. Чтобы начать фильтровать, кликните по значку на заголовке столбца.
Рассмотрите только новые результаты начиная с последнего анализа.
На панели инструментов панели Results List нажмите кнопку New.
Рассмотрите результаты в определенных файлах или функциях.
На панели инструментов панели Results List, из списка, выбирают File.
Смотрите результаты фильтра и группы.