-
[UE5] Development Editor에서 효과적으로 디버깅하는 방법UE5 2025. 1. 17. 14:19
UE5와 같은 큰 프로젝트에서는 Debug 모드에서 컴파일을 하게 되면 굉장히 속도가 느리다.
따라서 Development 모드에서 컴파일을 하되, 특정 매크로를 사용하면 해당 코드에 관하여 원활히 디버깅을 할 수 있다.
PRAGMA_DISABLE_OPTIMIZATION / PRAGMA_ENABLE_OPTIMIZATION
디버깅을 하고 싶은 코드 앞뒤로 해당 매크로를 지정해주면 된다.
1. 디버깅을 위해
- 컴파일러 최적화(O1, O2, O3, Os, Oz 등)가 적용되면 일부 코드가 최적화되거나 제거될 수도 있음.
- 특히 디버깅 중 변수 값이 이상하게 보이거나, 특정 코드가 실행되지 않는 것처럼 보이는 문제를 방지하기 위해 사용.
- 최적화를 끄면 컴파일러가 코드를 변경하지 않고 그대로 유지하므로, 디버깅이 더 쉬워짐.
2. 특정 코드의 실행 순서를 보장하기 위해
- 최적화가 활성화되면 컴파일러가 코드 실행 순서를 변경하거나, 불필요한 코드를 제거할 수 있음.
- 메모리 배리어(Memory Barrier) 역할을 하는 경우가 있음.
- 예를 들어, CPU 캐시 동기화나 멀티스레드 환경에서 특정 연산이 삭제되지 않도록 방지할 수 있음.
3. 언리얼 엔진의 성능 프로파일링(Profiling)
- 언리얼 엔진에서 성능 프로파일링을 할 때, 특정 코드 블록만 최적화를 비활성화하면 더 정확한 성능 측정이 가능.
- PRAGMA_DISABLE_OPTIMIZATION을 걸어두면 그 구간의 코드를 컴파일러가 변경하지 않으므로, 실제 실행되는 형태를 유지할 수 있음.
'UE5' 카테고리의 다른 글
[week5] PixelShader - Fog (1) 2025.04.04 [week2] Texture Rendering (1) 2025.03.20 [CG] 레스터라이저 상태(Rasterizer State) (1) 2025.01.15 [UE5] .uproject, Target.cs, Build.cs (0) 2025.01.13 [UE5] 게임플레이 이펙트의 활용 (1) 2025.01.07