Unity3D

Unity3d C#에서 Debug.Log 매크로 함수로 컴파일 안 되게 하기

DragonTory 2020. 11. 5. 10:37
반응형

Unity3d C#에서 Debug.Log 디버깅 메시지 출력 함수를

디버깅 / 테스트 때만 출력 되고 릴리즈 일때는

호출 안 되게 할 때 다음과 같이 사용 할 수 있다. 

 

using System.Diagnostics;

 

[Conditional("DEBUG")]

void PrintDebug(string msg)

{

   UnityEngine.Debug.Log( "My App : " + msg );

}

 

C++에서 #ifdef #else 로 만들어 쓰던 매크로를

Conditional("")로 대체 하여 사용 할 수 있다. 

 

[Conditional("CONDITION1"), Conditional("CONDITION2")]

: 두가지 옵션을 사용 할때

 

DEBUG 가 디파인 안 되어 있으면 메소드 자체가 호출 되지 않는다.

이렇게 해서 릴리즈 일 때 효율을 올리 수 있다. 

 

단, 디버깅 때 콘솔창의 메시지를 클릭 해도 PrintDebug내로 가기 때문에 

직접적인 호출 위치를 찾는데는 도움을 주지 못 한다.

 

#Unity3d #Debug.Log #전처리기

반응형