Выполните один или несколько из этих шагов до тех пор, пока не будет определено исправление для проверки контура без завершения. Существует несколько способов исправления чека. Описание проверки и примеры кода см. в разделе Non-terminating loop.
Общий рабочий процесс проверки проверок см. в разделе Интерпретация результатов проверки кода в пользовательском интерфейсе Polyspace Desktop.
Установите курсор на ключевое слово цикла, например for или while.
Получите из подсказки следующую информацию:
Является ли цикл бесконечным или содержит ошибку времени выполнения.
В следующем примере вероятно, что цикл бесконечен.
![]()
Если цикл содержит ошибку времени выполнения, количество итераций цикла. Поскольку Polyspace ® считает, что выполнение останавливается при возникновении ошибки во время выполнения, по этому числу можно определить, какая итерация цикла содержит ошибку.
В следующем примере вероятно, что цикл содержит ошибку времени выполнения. Вероятно, ошибка возникнет в 31-й итерации цикла.

Если цикл бесконечен, определите, почему условие завершения цикла не выполняется.
Если в коде имеется бесконечный цикл, например для циклических приложений, можно добавить комментарий и обоснование в результат или код. См. раздел Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.
Если цикл содержит ошибку времени выполнения, определите ошибку, которая вызывает проверку цикла без завершения. Исправьте ошибку.
В теле цикла ошибка времени выполнения обычно возникает как оранжевая проверка другого типа в операции. Проверка имеет оранжевый и не красный цвет, поскольку операция обычно проходит проверку в первых нескольких итерациях цикла и завершается неуспешно только в более поздней итерации. Однако, поскольку сбой происходит каждый раз при запуске цикла, проверка цикла без завершения по ключевому слову цикла имеет красный цвет.
Для циклов с небольшим количеством итераций можно перейти непосредственно от ключевого слова цикла к операции, вызывающей ошибку времени выполнения.
Чтобы найти источник ошибки, на панели Источник (Source) выберите ключевое слово красного цикла. На панели Сведения о результате (Result Details) отображается полный журнал, ведущий к операции, которая вызывает ошибку времени выполнения.
Перейдите к источнику ошибки в теле цикла. Щелкните правой кнопкой мыши ключевое слово loop и выберите Go to Cause, если опция существует.

Учебное пособие см. в разделе Определение работы цикла с ошибкой времени выполнения.
Если цикл бесконечен:
Проверьте состояние окончания шлейфа.
В теле цикла проверьте, была ли изменена хотя бы одна из переменных, участвующих в условии завершения цикла.
Например, если условие окончания шлейфа while (count1 + count2 < count3), посмотрите, меняете ли вы хотя бы один из count1, count2, или count3 в цикле.
При изменении переменных, включенных в условие завершения цикла, проверьте, не меняются ли они в правильном направлении.
Например, если условие окончания шлейфа while(i<10) и вы уменьшаете i в цикле цикл не завершается. Необходимо увеличить i.
Если цикл содержит ошибку времени выполнения:
Если переменная управления циклом является индексом массива, проверьте наличие оранжевой ошибки индекса массива вне границ в теле цикла.
Если переменная управления контуром передается функции, проверьте, можно ли связать красную ошибку «Non-terminating loop» с оранжевой ошибкой в теле функции.