Вызываемая функция не возвращается к вызывающему контексту
Эта проверка вызова функции появляется при удержании следующих условий:
Вызываемая функция не возвращается к своему контексту вызова. Вызов приводит к определенной ошибке времени выполнения или функции завершения процесса, такой как exit()
в теле функции.
Существуют другие вызовы той же функции, которые не приводят к определенной ошибке или функции завершения процесса в теле функции.
Когда только часть вызовов функции приводит к определенной ошибке, эта проверка помогает идентифицировать эти вызовы функции. В теле функции, даже если происходит определенная ошибка, ошибка появляется оранжевым цветом вместо красного, потому что результаты верификации в теле функции агрегируются по всем вызовам функции. Чтобы указать, что произошла определенная ошибка, вместо этого на вызове функции отображается красная проверка вызова без завершения.
В противном случае, если все вызовы функции приводят к определенной ошибке или обработке функции завершения в теле функции, ошибка Non-terminating call не отображается. Ошибка появляется красным цветом в теле функции, и на вызовах функции появляется штриховое красное подчеркивание. Однако после вызова функции, как и другие красные ошибки, Polyspace® не анализирует оставшийся код в тех же возможностях, что и вызов функции.
Вы можете перейти непосредственно от вызова функции к операции, вызывающей ошибку времени выполнения в теле функции.
Чтобы найти источник ошибки, на панели Source поместите курсор на ключевое слово цикла и просмотрите подсказку.
Перейдите к источнику ошибки в теле функции. Щелкните правой кнопкой мыши вызов функции и выберите Go to Cause, если опция существует.
Если ошибка является результатом нескольких причин, опция приводит вас к первой причине в теле функции. Многочисленные причины могут возникнуть, например, когда некоторые значения аргумента функции вызывают одну конкретную ошибку, а другие значения вызывают другие ошибки.
Группа: Управляйте потоком |
Язык: C | C++ |
Акроним: NTC |