좋은 하루 모두 소위 '갱신'후 적절한 플랫폼. 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.
. 나는 스택 오버 플로우 예외로 이끌 기 위해 그 시점에서 어떤 프로세스가 발생할지 결정할 수 없었다.
누군가가이 시점에서 발생할 수있는 프로세스를 결정하는 데 도움이 될 수 있다면 의심 할 여지없이 문제의 원인을 찾는 데 도움이됩니다. 코드를 검사하는 것이 더 편할 경우 확실히 제공 할 수 있습니다. 더 많은 정보로 문제를 판별 할 수 있다고 생각하며 주저합니다. 문제를 이해하는 데 필요한 코드 기반이 상당히 커질 수 있습니다.
시간을내어 도움을 주셔서 감사 드리며 도움이 될만한 정보를 더 제공해 주시면 알려 주시기 바랍니다.
예외의 스택 추적을 확인하거나 질문에 붙여 넣을 수 있습니까? –
그다지 수치 스럽지만 나는 잊어 버렸습니다. Just My Code 기능을 비활성화하고 문제의 원인을 조사 할 수있었습니다. 이상하게도 OnActivated ad-infinitum을 호출하는 것 같습니다. –