[UE5] crash : EXCEPTION_ACCESS_VIOLATION

수민·2023년 3월 26일
0

시행착오

목록 보기
1/6
post-thumbnail

문제 상황

ㅋㅋㅋㅋㅋ
예제대로 잘 따라하다가...
유튜브 보고 애니메이션 리타겟팅을 따라했는데
하다가 갑자기 픽 꺼지더니
크래시가 났다 ㅋㅋㅋㅋ

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000000000000037d

UnrealEditor_Hunt_Prototype_patch_1!UMyAnimInstance::PlayAttackMontage() [D:\Unreal Projects\Hunt_Prototype\Source\Hunt_Prototype\MyAnimInstance.cpp:40]
UnrealEditor_Hunt_Prototype_patch_1!AMyCharacter::Attack() [D:\Unreal Projects\Hunt_Prototype\Source\Hunt_Prototype\MyCharacter.cpp:259]
UnrealEditor_Hunt_Prototype_patch_1!TBaseUObjectMethodDelegateInstance<0,AMyCharacter,void __cdecl(void),FDefaultDelegateUserPolicy>::Execute() [D:\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:594]
UnrealEditor_Engine!FInputActionUnifiedDelegate::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Classes\Components\InputComponent.h:288]
UnrealEditor_Engine!UPlayerInput::ProcessInputStack() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\UserInterface\PlayerInput.cpp:1419]
UnrealEditor_Engine!APlayerController::ProcessPlayerInput() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\PlayerController.cpp:2609]
UnrealEditor_Engine!APlayerController::TickPlayerInput() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\PlayerController.cpp:4762]
UnrealEditor_Engine!APlayerController::PlayerTick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\PlayerController.cpp:2234]
UnrealEditor_Engine!APlayerController::TickActor() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\PlayerController.cpp:4914]
UnrealEditor_Engine!FActorTickFunction::ExecuteTick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp:197]
UnrealEditor_Engine!FTickFunctionTask::DoTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:284]
UnrealEditor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:975]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:753]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:642]
UnrealEditor_Core!FTaskGraphCompatibilityImplementation::WaitUntilTasksComplete() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:2169]
UnrealEditor_Engine!FTickTaskSequencer::ReleaseTickGroup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:565]
UnrealEditor_Engine!FTickTaskManager::RunTickGroup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1592]
UnrealEditor_Engine!UWorld::RunTickGroup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:790]
UnrealEditor_Engine!UWorld::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1531]
UnrealEditor_UnrealEd!UEditorEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:1777]
UnrealEditor_UnrealEd!UUnrealEdEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:474]
UnrealEditor!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5215]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:183]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]
UnrealEditor!__scrt_common_main_seh() [d:\a01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

원인

에러 내용은 이렇고..
딱 보니..
메모리 접근 관련 오류 인가보다

UMyAnimInstance::PlayAttackMontage()의 40번째 줄에서 오류가 났다니

찾으러 가본다


void UMyAnimInstance::PlayAttackMontage()
{
	HUNT_CHECK(!IsDead);
	Montage_Play(AttackMontage, 1.0f);
}

HUNT_CHECK(!IsDead) 이게 40번째 줄이다

읭,,
멤버변수인데 그냥...

이게 없다는건?
뭔가.. 잘못된 것 같다

스켈레탈 메시를 변경하면서
스켈레탈 메시, 애니메이션 블루프린트, 애님 몽타주 등을 변경했는데,
이러다가 살짝 경로가 꼬이지 않았나 싶다..
근데 의심가는게 없더라고..
아직 짬이 덜찼다..


해결

일단은 문제된 줄을 주석처리하고 재빌드 해봤다.
그리고 언리얼 에디터를 다시 켜서 라이브코딩 한 번 하고 돌렸다

잘만 되더라
뭐지?
경로가 꼬인건지 뭔지 모르겠다

일단..
에디터를 완전 종료하고 다시 켜보도록 해보자..ㅎㅎ..

나중에 이런 오류가 몇 번 더 나보면 정확한 이유를 알 수 있을 것 같다


23.04.14 추가

계속 언리얼을 하다 보니
라이브코딩을 하면 변경 사항이 즉시 반영되지 않을 때도 있는 것 같다.
수정한 뒤에 원하는대로 안나와서 계속 고민했는데
에디터 종료 후 다시 만들고 키면 되더라.
이거에 대해서는 다음주에 한 번 정리해봐야겠다!!

profile
우하하

0개의 댓글