Анализатор обнаружил, что может возникать бесконечная рекурсия. Скорее всего, это приведет к переполнению стека вызовов и возникновению исключения 'StackOverflow'.
Рассмотрим пример из реального проекта, который приводил к такой ситуации:
@Override public void glGenTextures(IntBuffer textures) { gl.glGenTextures(textures); checkError(); } @Override public void glGenQueries(int num, IntBuffer ids) { glGenQueries(num, ids); // <= checkError(); }
Программист допустил опечатку и вызвал не тот метод, что стало причиной возникновения бесконечной рекурсии. Метод 'glGenQueries' надо было вызывать у объекта 'gl', как это делается в других фукнциях.
Исправленный пример:
@Override public void glGenTextures(IntBuffer textures) { gl.glGenTextures(textures); checkError(); } @Override public void glGenQueries(int num, IntBuffer ids) { gl.glGenQueries(num, ids); checkError(); }
Данная диагностика классифицируется как:
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V6062. |