작성
·
7
0
13강 거의 마지막 부분에 나오는 UpdateStat이 코드를 작성해서 빌드하면 빌드도 성공적으로 마무리되고 언리얼도 실행됩니다. 하지만 언리얼에서 플레이 버튼을 누르면 크러쉬로 종료되는 현상을 겪고 있습니다. 저 부분만 제거하고 빌드하면 아무런 문제 없이 플레이 되는걸로 봐서는 저 부분이 크러쉬 원인인 것 같은데요. 제 생각엔 코드 문제는 아닌 것 같은데... 크러쉬 원인을 모르겠습니다.
다만, 현재 추측은 3 4강? 예제를 연습 할 때 배치된 액터를 실수로 삭제했는데 그때도 빌드는 잘 되었지만 플레이 버튼을 클릭하면 크러쉬로 종료되는 경험이 있었습니다.
그땐 액터를 배치하고 해결 됐던 경험이 있어 혹시 그쪽 문제가 싶어서 찾아봤으나 정확한 원인을 못 찾고 있습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 고광형님이 언급하신 문제는 언리얼 엔진 프로젝트에서 발생할 수 있는 흔한 상황 중 하나입니다. 플레이 시에 크래쉬가 발생하는 주된 원인은 다음과 같은 이유일 수 있습니다:
참조되지 않은 객체: UpdateStat 함수 내에서 사용되는 어떤 객체가 존재하지 않아서 생길 수 있습니다. 이 경우, 해당 함수가 접근하려는 객체가 제대로 초기화되었는지, 혹은 null인지 확인해보는 것이 중요합니다.
레벨 상의 오브젝트: 말씀하신 것처럼 액터 또는 컴포넌트가 레벨에서 삭제된 경우에도 문제가 발생할 수 있습니다. 관련된 액터나 컴포넌트가 디자이너나 블루프린트 상에서 삭제되었거나, 씬으로부터 빠져나갔는지 확인해보세요.
잘못된 포인터 참조: C++에서는 포인터로 객체를 참조하기 때문에, 유효하지 않은 포인터에 접근하려고 하면 크래쉬가 발생할 수 있습니다. 디버깅 툴을 통해 문제의 지점을 찾아보세요.
관련된 기존 답변들을 확인해본 결과, 다음 URL에서 유사한 문제 해결에 대한 논의가 있었습니다:
17강 새로운 캐릭터 추가 후 크래쉬 발생 문제
이 게시물에서는 새로운 캐릭터를 추가한 후에도 유사한 문제를 겪었던 사례를 보여주며, 문제 해결 방법을 논의합니다.
컴파일러에서 캐릭터의 기능 관련 문제 발생
이 링크에서는 컴파일러에서 캐릭터의 특정 기능을 구현할 때 발생하는 문제에 대한 답변입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.