본문 바로가기

Programming/UE5

[UE5]CallStack을 Log로 출력

반응형

cpp에서 필요한 곳에 아래와 같이 코드를 추가하면 콜스택이 로그로 출력됩니다.

 

  • 필요한 헤더파일

#include "Misc/OutputDevice.h"
#include "HAL/PlatformStackWalk.h"
#include "Logging/LogMacros.h"
#include "Misc/AssertionMacros.h"

 

  • 콜스택 출력코드

    const SIZE_T StackTraceSize = 65536;
    ANSICHAR StackTrace[StackTraceSize] = { 0 };
    uint64 ThreadId = FPlatformTLS::GetCurrentThreadId();
    FPlatformStackWalk::StackWalkAndDump(StackTrace, StackTraceSize, 0);
    FString StackTraceText(StackTrace);
    TArray<FString> StackLines;
    StackTraceText.ParseIntoArrayLines(StackLines);

    UE_LOG(LogTemp, Warning, TEXT("@@@ Stack Start"));

    for (FString& StackLine : StackLines)
    {
        UE_LOG(LogTemp, Warning, TEXT("@@@ %s"), *StackLine);
    }

    UE_LOG(LogTemp, Warning, TEXT("@@@ Stack End"));

반응형

'Programming > UE5' 카테고리의 다른 글

Console 명령어 추가  (0) 2024.03.27
[UE5]Modular Game Features  (0) 2022.07.07