본문 바로가기
개발이야기/언리얼 c++

언리얼 C++ : Ensure와 EnsureMsgf란?

by oddsilk 2024. 5. 27.

ensure와 ensureMsgf는 Unreal Engine에서 사용되는 두 가지 중요한 디버깅 매크로입니다. 이 두 매크로는 특정 조건이 false일 때 개발자에게 경고를 보내고 추가 정보를 제공하도록 설계되었습니다. ensure는 기본적인 경고를 제공하며, ensureMsgf는 조건이 충족되지 않을 경우 사용자 정의 메시지를 출력할 수 있습니다.

ensure

ensure 매크로는 조건이 false일 때 경고를 출력하지만, 프로그램 실행을 중단하지 않고 계속해서 실행합니다. 이는 개발자가 코드 실행 중에 발생할 수 있는 잠재적인 문제를 인식하는 데 유용합니다. ensure는 다음과 같이 사용됩니다:

 

이 경우, Value가 0 이하일 때 ensure는 경고 메시지를 출력하지만, 프로그램은 계속 실행됩니다.

 

void MyFunction(int32 Value)
{
    // Ensure that Value is greater than 0
    ensure(Value > 0);

    // Rest of your function
}

ensureMsgf

ensureMsgf는 ensure와 비슷하지만, 조건이 false일 때 출력할 사용자 정의 메시지를 제공할 수 있습니다. 이는 문제를 보다 명확하게 디버깅하는 데 도움이 됩니다. ensureMsgf는 다음과 같이 사용됩니다:

 

void MyFunction(int32 Value)
{
    // Ensure that Value is greater than 0 with a custom message
    ensureMsgf(Value > 0, TEXT("Value must be greater than 0. Current value: %d"), Value);

    // Rest of your function
}

 

 

이 예제에서 Value가 0 이하일 경우, ensureMsgf는 경고 메시지를 출력하며 사용자 정의 메시지를 포함합니다. 이는 디버깅 정보를 보다 명확하게 제공합니다.

주요 차이점 요약

  • ensure: 조건이 false일 때 기본 경고 메시지를 출력합니다.
  • ensureMsgf: 조건이 false일 때 사용자 정의 경고 메시지를 출력합니다.

두 매크로 모두 디버깅 과정에서 매우 유용하며, 코드의 특정 조건을 검증하고 그 조건이 충족되지 않을 경우 경고를 출력하지만 프로그램 실행을 중단하지 않습니다. 이는 문제를 인식하고 해결하는 데 도움이 됩니다.