2012-08-08 1 views
0

좋은 하루 모두 소위 '갱신'후 적절한 플랫폼. ExEn, MonoGame 또는 유사한 프레임 워크를 활용하지는 않습니다. 비록 내가 그들의 접근 방식을 연구함으로써 많은 것을 배웠지 만.XNA 게임 스택 오버플로 오류 I가 안드로이드, iOS 및 윈도우 폰 모노를 사용하는 7 XNA 프레임 워크를 대상으로 크로스 플랫폼 프레임 워크/추상화 계층을 구축했습니다</p> <p>

프레임 워크의 XNA 부분은 XNA Game 클래스를 확장하며, 이것이 문제가 발생한 부분입니다. 그러나 나는 그것을 추적하는 데 어려움을 겪고 있으며, XNA Game 클래스에 대해 더 잘 알고있는 사람은 큰 도움이 될 것입니다. 클래스에 대한 전체 상속 계층 구조에 대한 코드를 게시하지 않을 것입니다. 일부 공간을 차지할 것이지만, 대신 XNA Game 클래스에서 문제의 가능한 소스에 대한 정보를 요청하게됩니다. 이로 인해 저의 오류가 발견 될 수 있습니다 .

테스트 게임을 실행할 때 스택 오버플로 예외가 발생합니다. 전체 예외입니다 : 범인을 추적하기 위해

An unhandled exception of type 'System.StackOverflowException' occurred in Microsoft.Xna.Framework.Game.dll 

, 나는 콘솔에 몇 가지 간단한 디버그 문을 출력되었습니다. 나는 점점 오전 출력은 다음과 같습니다 당신이 볼 수 있듯이, 성공적으로 업데이트가 완료 있어요하지만 BeginDraw 또는 EndRun 하나에 진행되지

Started init. 
Started linear load. 
Loading a texture... 
Finished loading a texture... 
Finished linear load. 
Finished init. 
Begin run called. 
Begin run ended successfully. 
Started update. 
Ended update. 

Process is terminated due to StackOverflowException. 

. 나는 스택 오버 플로우 예외로 이끌 기 위해 그 시점에서 어떤 프로세스가 발생할지 결정할 수 없었다.

누군가가이 시점에서 발생할 수있는 프로세스를 결정하는 데 도움이 될 수 있다면 의심 할 여지없이 문제의 원인을 찾는 데 도움이됩니다. 코드를 검사하는 것이 더 편할 경우 확실히 제공 할 수 있습니다. 더 많은 정보로 문제를 판별 할 수 있다고 생각하며 주저합니다. 문제를 이해하는 데 필요한 코드 기반이 상당히 커질 수 있습니다.

시간을내어 도움을 주셔서 감사 드리며 도움이 될만한 정보를 더 제공해 주시면 알려 주시기 바랍니다.

+1

예외의 스택 추적을 확인하거나 질문에 붙여 넣을 수 있습니까? –

+0

그다지 수치 스럽지만 나는 잊어 버렸습니다. Just My Code 기능을 비활성화하고 문제의 원인을 조사 할 수있었습니다. 이상하게도 OnActivated ad-infinitum을 호출하는 것 같습니다. –

답변

2

해결

그것은함으로써 자기 토글의 무한 루프를 생성 이벤트 자체에있어서 이벤트 처리를 매는 분명히 내 오히려 어리 단계의 결과로서 반복 호출되는 하였다 OnActivated 밝혀 .

감사가 입력 한 혼수 상태를 유도 어떤 안드로이드 개발에서 나의 뇌를 찍은이 도움이되는 경우 명백한 조언을 위해 Illian 핀존로 이동

감사합니다.

관련 문제