누군가가 내가 무슨 일이 일어나는지 알아낼 수 있기를 바랍니다.glDrawArrays()에서 SIGKILL 디버깅. iPhone iOS
나는 cocos2d framework
을 사용하여 iPhone 게임을 개발 중입니다. 때로는 SIGKIL
신호 때문에 코드가 멈추는 경우가 있습니다. '계속'버튼을 누르면 게임이 계속 진행됩니다. 콘솔 로그가 깨끗합니다 (오류 또는 경고 메시지가 없음) OpenGL
을 사용하여 텍스처 라이즈 사각형을 그리는 사용자 정의 클래스에서이 코드를 가져옵니다. 이 코드는 초당 약 300 회 실행되며 SIGKILL
은 1-2 시간마다 약 한 번만 발생합니다.
(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}
스택 추적 : 다음에
#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:]()
마지막 라인 여기
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);
그 순간에 배열의 내용입니다 : 여기
코드의 조각 로그는 다음과 같습니다 :
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
누군가이 상황을 디버깅하고 진행 상황을 판단 할 수 있다면 감사하게 생각합니다.
혹시 이것을 알아 냈습니까? – jsherk
아니요. 단지 xCode로 작업하면서 실제 플레이어에게 영향을주지 않기를 바랍니다. xCode에 연결된 장치로 디버깅하는 동안 나는 항상 그것을 가지고 있기 때문에. – Marmot
Xcode의 시뮬레이터에서 실행되는 경우가 종종 있습니다. 하지만 나는 장치에서 나를 충돌시키지 않았지만, 테스트 할 때 일반적으로 장치를 Xcode에 연결하지 않습니다. 그래서 내 생각은 어떻게 든 Xcode와 관련이있다. – jsherk