본문 바로가기
Unreal/Manual

Unreal C++ 코드 디버깅, 콜 스택(Call Stack) 로그 출력

by Dev_카페인 2023. 12. 16.
반응형

[Unreal/C++] 코드 디버깅, 콜 스택(Call Stack) 로그 출력

 

언리얼 프로그래밍을 하다 보면 함수가 어디서 호출되는지 확인하고 싶을 때가 있다.

언리얼에서는 이 콜스택을 지원한다.

 

FDebug 클래스의 DumpStackTraceToLog() 함수이다.

FDebug::DumpStackTraceToLog() 

 

FDebug 클래스는 디버깅 및 진단 기능을 제공한다.

그 중 DumpStackTraceToLog 함수를 사용한다.

5.0 기준으로 함수는 다음과 같다.

/** Dumps the stack trace into the log, meant to be used for debugging purposes. */
static void DumpStackTraceToLog(const ELogVerbosity::Type LogVerbosity);

/** Dumps the stack trace into the log with a custom heading, meant to be used for debugging purposes. */
static void DumpStackTraceToLog(const TCHAR* Heading, const ELogVerbosity::Type LogVerbosity);

 

 

실제 BeginPlay함수에서 실행하는 방법은 다음과 같다.

void MyClass::BeginPlay()
{
	FDebug::DumpStackTraceToLog(ELogVerbosity::All);
}

 

ELogVerbosity의 열거형의 목록에서 필요한 항목을 찾아 사용하면 된다.

namespace ELogVerbosity
{
    enum Type
    {
        NoLogging        = 0,
        Fatal,
        Error,
        Warning,
        Display,
        Log,
        Verbose,
        VeryVerbose,
        All              = VeryVerbose,
        NumVerbosity,
        VerbosityMask    = 0xf,
        SetColor         = 0x40,
        BreakOnLog       = 0x80,
    }
}

 

일부 설명은 아래 이미지에서 확인할 수 있다.

 

 

 

 

FDebug

[FDebug](API\Runtime\Core\Misc\FDebug) These functions offer debugging and diagnostic functionality and its presence depends on compiler switches.

docs.unrealengine.com

 

 

ELogVerbosity::Type

Enum that defines the verbosity levels of the logging system.

docs.unrealengine.com

 

 

 

 

 

 

 

 

반응형