Polyspace, когда Вы Кодируете, является программным обеспечением инструмента статического анализа кода, предназначенным для регулярного использования разработчиками C/C++ в их Интегрированных средах разработки (ИДЫ). Polyspace, когда Вы Кодируете, может найти ошибки и кодирование стандартных нарушений на файле, который в настоящее время активен в IDE.
Эта тема обрисовывает в общих чертах аналитический осциллограф Polyspace, когда Вы Кодируете и преимущества использования Polyspace Bug Finder или Polyspace Bug Finder Server для анализа полной интеграции.
Polyspace, когда Вы Кодируете, спроектирован, чтобы обеспечить результаты, которые представляют мгновенный интерес для разработчиков. Таким образом, инструмент только показывает результаты в файлах, что вы в настоящее время продолжаете работать. После установки Polyspace как Вы Расширение кода, каждый раз, когда вы открываете или сохранили файл в своем IDE, анализ запускается тихо в фоновом режиме и подсвечивает проблемы в файле.
Все найденные проблемы происходят в самом исходном файле и могут также быть устранены в этом файле. Можно или реализовать фиксацию в подсвеченном местоположении или другом связанном местоположении все еще в текущем файле. Например, следующее целочисленное деление на нулевой результат показывают со связанными событиями на предыдущих линиях. Можно реализовать защиту против деления на нуль незадолго до деления или реализовать, некоторые проверяют входные параметры к функции, где деление выполняется.
Результаты, которые включают несколько файлов, например, несоответствия объявления через файлы или поток данных между функциями в различных файлах, не показывают в Polyspace по умолчанию как Вы Анализ кода. Чтобы видеть результаты полной интеграции на вашем проекте, анализируйте свой проект с Polyspace Bug Finder на вашем рабочем столе или с Polyspace Bug Finder Server на сервере непрерывного интегрирования (CI).
Некоторые средства проверки, которые вряд ли найдут проблемы в однофайловом анализе, полностью отключены в Polyspace, когда Вы Кодируете. Смотрите Средства проверки, Деактивированные в Polyspace, когда Вы Кодируете Анализ По умолчанию.
Если исходный файл #include
- s заголовок, который находится в той же папке как источник (или в подпапках), анализ рассматривает этот заголовок, но не показывает результата в заголовке. Все другие заголовочные файлы учитываются для компиляции, но не анализируются далее.
Причина этого поведения по умолчанию следующая:
Заголовки близко к источникам:
Базовое предположение - то, что заголовки в исходных папках более тесно связаны с текущим исходным файлом и поэтому важны для анализа. Однако разработчик не может владеть заголовками и не может хотеть устранять проблемы, такие как кодирование стандартных нарушений в заголовках. Поэтому результаты в этих заголовках не показывают.
Заголовки в неисходных папках:
Заголовки в других папках обычно прибывают из сторонних библиотек и не анализируются.
Можно изменить это поведение по умолчанию с помощью этих опций:
Generate results for sources and (-generate-results-for)
: Используйте эту опцию, чтобы расширить осциллограф, которого должны анализироваться заголовки.
Do not generate results for (-do-not-generate-results-for)
: Используйте эту опцию, чтобы расширить осциллограф, которого не должны анализироваться заголовки.
Даже с помощью этих опций, вы не видите результаты в заголовках #include
- d через исходные файлы. Если вы хотите результаты в заголовочном файле, анализируете заголовочный файл непосредственно а не через исходный файл.