Espero que alguien pueda ayudarme a descubrir qué está pasando.Depuración de SIGKILL en glDrawArrays(). iPhone iOS
Estoy desarrollando un juego de iPhone usando cocos2d framework
. De vez en cuando obtengo mi código detenido debido a la señal SIGKIL
. Si presiono el botón "continuar", el juego continúa sin problemas. El registro de la consola es claro (no hay mensajes de error o advertencia) Lo obtengo en mi clase personalizada que dibuja un rectángulo texturizado usando OpenGL
. Este código se ejecuta unas 300 veces por segundo y obtengo SIGKILL
solo una vez cada 1-2 horas.
Aquí es una pieza de código:
glColor4f(1.f, 1.f, 1.f, 1.f);
i = 1;
glBindTexture(GL_TEXTURE_2D, curText);
glVertexPointer(2, GL_FLOAT, 0, screenCoord [i]);
glTexCoordPointer(2, GL_FLOAT, 0, textureCoord [i]);
SIGKIL --> glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
Aquí es el contenido de las matrices en ese momento:
(gdb) p *screenCoord[1]@8
$8 = {0, 296, 249.827072, 296, 0, -0, 249.827072, -0}
(gdb) p *textureCoord[1]@8
$12 = {0.456224144, 0.29296875, 0.700195312, 0.29296875, 0.456224144, 0.58203125, 0.700195312, 0.58203125}
Seguimiento de la pila:
#0 0x123028a7 in <????>()
#1 0x12301528 in <????>()
#2 0x0a767092 in gldRenderFillPolygonPtr()
#3 0x12300185 in <????>()
#4 0x0a55c3e1 in gleDrawArraysOrElements_ExecCore()
#5 0x0a555280 in glDrawArrays_IMM_Exec()
#6 0x01522c7c in glDrawArrays()
#7 0x0007e6bd in -[CLScrollingBack draw] at /MyProjects/_ROBOTS/RobotsAttack/AbductedAliens game template/CLScrollingBack.m:430
#8 0x001bfdaa in -[CCNode visit]()
#9 0x001bfd7d in -[CCNode visit]()
#10 0x001bfd7d in -[CCNode visit]()
#11 0x0020f708 in -[CCDirectorIOS drawScene]()
#12 0x00211bb4 in -[CCDirectorDisplayLink mainLoop:]()
Las últimas líneas en el registro son:
2012-06-20 13:05:27.368 RobotsAttack![9487:207] cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from [2] to [4].
2012-06-20 13:05:27.368 RobotsAttack![9487:207] cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from [4] to [6].
Current language: auto; currently objective-c
Estaría agradecido si alguien me puede decir cómo depurar esta situación y determinar qué está pasando.
¿Alguna vez descubrió esto? – jsherk
No. Solo espero que sea solo mientras trabajo con xCode y no afectará a los jugadores reales. Como siempre lo tengo mientras estoy depurando con un dispositivo conectado a xCode. – Marmot
Lo obtengo muy de vez en cuando, cuando se ejecuta en los simuladores en Xcode. Pero nunca me había topado en un dispositivo, aunque normalmente no dejo el dispositivo conectado a Xcode cuando lo pruebo. Así que mi pensamiento es que de alguna manera está relacionado con Xcode. – jsherk