디버그 빌드 설정
- Project Settings > Player > Configuration > Scripting Backend 설정을 Mono로 설정한다.
- Scripting Backend
Unity는 C#으로 작성된 스크립트를 실행하기 위해 스크립트 런타임을 제공한다. Scripting Backend는 스크립트를 실행할 때 사용하는 런타임 기술을 말한다. Unity에서는 다음 두 가지 주요 옵션이 있다.- 디버깅 환경에서 사용하는 Mono
- Script Debugging이 가능한 환경에서 Mono를 사용하면, 코드의 동작을 더 쉽게 추적하고 수정할 수 있다.
- IDE와 완벽히 연동되어 Breakpoint, Call Stack 등 디버깅 기능을 활용할 수 있다.
- 최적화 및 배포 환경에서 사용하는 IL2CPP
- 최적화된 성능과 플랫폼 요구사항을 충족시키기 위해 최종 빌드에서는 IL2CPP를 사용하는 것이 일반적이다.
- 디버깅 환경에서 사용하는 Mono
- Scripting Backend
- Mono는 개발 중 빠른 디버깅과 반복 테스트를 지원하며, IL2CPP는 최종 빌드의 성능 최적화와 플랫폼 호환성을 보장한다. 따라서 개발 단계에서는 Mono를 사용하고, 빌드 및 배포 단계에서는 IL2CPP로 전환하는 방식이 가장 일반적이다.
특징 | Mono (JIT) | IL2CPP (AOT) |
디버깅 및 개발 속도 | 빠름 (실시간 디버깅 가능) | 느림 (코드 컴파일 시간 증가) |
최적화 | 기본적인 최적화 | 고성능 (C++ 변환으로 네이티브 수준) |
빌드 속도 | 빠름 | 느림 |
보안 | 낮음 (디컴파일 쉬움) | 높음 |
호환성 | 제한적 (iOS에서 JIT 사용 불가) | 모든 플랫폼에서 지원 |
- Build Profiles > 빌드하고자 하는 플랫폼 > Platform Settings에서 Development Build와 Script Debugging을 활성화한다.
유니티 에디터의 우측 하단에, 디버그 모드가 작동되고 있는지 확인한다.
에디터 상에서 스크립트를 띄고, 라이더의 Run / Debug Configurations를 Attatch To Unity Editor & Play로 변경한다.
원하는 지점에 Breakpoint를 설정하고, 벌레 모양을 클릭하거나, Alt+F5를 눌러 디버그 모드를 실행한다.
그럼 에디터 상에서 다음과 같이 정상적으로 디버거가 연결되고 작동됨을 볼 수 있다.
이제 디버깅을 즐겨보자.
언리얼은 추후에 따로 정리해서 올리도록 하겠다.