Polyspace® Code Prover™ проверяет каждую операцию в коде на наличие определенных ошибок времени выполнения и отображает результат как красный, зеленый или оранжевый чек. Для получения дополнительной информации смотрите Результаты Code Prover и Цвета исходного кода.
Вы должны просмотреть красный или оранжевый чек и определить, исправлять ли ваш код. В приведенных ниже таблицах перечислены проверки, которые выполняет Polyspace Code Prover, и способы их просмотра.
| Проверить | Как просмотреть | Подробнее |
|---|---|---|
Function not called |
Исследуйте, почему функция не появляется в графике вызовов, начиная с | Смотрите и исправьте функции, не вызываемые проверки |
Function not reachable |
Идентифицируйте сайты вызовов функции и исследуйте, почему они происходят в недоступном коде. | Проверяйте и исправляйте проверки недоступности функции |
Non-initialized local variable |
Найдите предыдущие инициализации переменной, если таковые имеются, и проверьте, может ли ваша программа обойти их. | Просмотрите и исправьте неинициализированные проверки локальных переменных |
Non-initialized pointer |
Найдите предыдущие инициализации указателя, если они есть, и проверьте, может ли ваша программа обойти их. | Просмотрите и исправьте неинициализированные проверки указателя |
Non-initialized variable |
Найдите предыдущие инициализации глобальной переменной, если таковые имеются, и проверьте, может ли ваша программа обойти их. | Просмотрите и исправьте неинициализированные проверки переменных |
Return value not initialized |
Идентифицируйте пути через тело функции, которые не заканчиваются | Просмотр и исправление не инициализированных проверок возвращаемого значения |
Unreachable code |
Исследуйте, почему условный оператор в вашем коде избыточен, например, всегда true или всегда false. | Просмотрите и исправьте недостижимые проверки кода |
| Проверить | Как просмотреть | Подробнее |
|---|---|---|
Division by zero |
Проверьте предыдущие операции в вашем коде, которые приводят к нулевому значению знаменателя. | Просмотр и исправление деления по нулевым проверкам |
Invalid shift operations |
Просмотрите предыдущие операции в коде, которые приводят к тому, что величина сдвига вне границ или отрицательное значение сдвигается влево. | Просмотрите и исправьте недопустимые проверки операций смены |
Overflow |
Проверьте предыдущие операции в коде, которые приводят к переполнению операции. | Просмотрите и исправьте проверки переполнения |
| Проверить | Как просмотреть | Подробнее |
|---|---|---|
Absolute address usage |
Проверьте использование абсолютного адреса в коде и убедитесь, что адреса действительны. | Просмотр и исправление проверок использования абсолютных адресов |
Illegally dereferenced pointer |
Проверьте предыдущие операции в вашем коде, которые приводят к указателю, указывающему вне выделенного буфера памяти. | Просмотрите и исправьте незаконно размененные проверки указателя |
Out of bounds array index |
Проверьте предыдущие операции в коде, которые приводят к тому, что индекс массива больше или равен размеру массива. | Просмотрите и исправьте проверки индекса за пределами массива |
| Проверить | Как просмотреть | Подробнее |
|---|---|---|
Non-terminating call |
Проверьте операции в теле функции и найдите, какая ошибка времени выполнения происходит из-за проблем, характерных для текущего вызова функции. | Просмотрите и исправьте проверки вызовов без завершения |
Non-terminating loop |
Проверьте операции в цикле и определите, почему цикл не заканчивается или почему в одном из запусков происходит определенная ошибка времени выполнения. | Просмотрите и исправьте проверки без завершения цикла |
| Проверить | Как просмотреть | Подробнее |
|---|---|---|
Invalid C++ specific operations |
Определите первопричину непозитивного размера массива или неправильного использования | Просмотр и исправление недопустимых проверок конкретных операций C++ |
Function not returning value |
Идентифицируйте пути через тело функции, которые не заканчиваются | Проверьте и исправьте функцию, не возвращающую проверки значений |
Incorrect object oriented programming |
Исследуйте, почему определенный | Просмотрите и исправьте неправильные объекты программирования |
Null this-pointer calling method |
Исследуйте, почему можно | Проверьте и исправьте проверки метода вызова с использованием ядра указателя |
Uncaught exception |
Исследуйте, как исключение может вырваться из функции, где оно выдается. | Просмотр и исправление неоткрытых проверок исключений |
| Проверить | Как просмотреть | Подробнее |
|---|---|---|
Correctness condition |
Найдите первопричину неправильного использования указателя на функцию, неправильного преобразования массива или значений переменных за пределами заданных ограничений. | Просмотр и исправление проверок условий правильности |
Invalid use of standard library routine |
Выясните, почему аргументы в текущем вызове стандартной стандартной программы библиотеки недопустимы. | Просмотр и исправление недопустимого использования рутинных проверок стандартной библиотеки |
User assertion |
Исследуйте, почему условие в | Просмотр и исправление проверок Assertion пользователя |