디버그용으로 함수 이름, 라인을 출력하는 유틸리티 매크로를 만들어본다.
프로젝트 헤더에서 전역으로 사용할 매크로 함수를 설정한다.
#pragma once #include "CoreMinimal.h" // 함수 이름, 라인을 확인 #define CALLINFO (FString(__FUNCTION__) + TEXT("(")+FString::FromInt(__LINE__) + TEXT(")")) // 위 내용을 출력 #define PRINT_CALLINFO() UE_LOG(LogTemp, Warning, TEXT("%s"), *CALLINFO) // 가변인자 활용 #define PRINT_LOG(format, ...) UE_LOG(LogTemp, Warning, TEXT("%s %s"), *CALLINFO, *FString::Printf(format, ##__VA_ARGS__))
사용할 곳에 프로젝트 헤더를 포함시킨 후 매크로 함수를 호출한다.
#include "MyTPSGameModeBase.h" #include "MyTPS.h" // 프로젝트 헤더 AMyTPSGameModeBase::AMyTPSGameModeBase() { UE_LOG(LogTemp, Warning, TEXT("%s"), *CALLINFO); PRINT_CALLINFO(); PRINT_LOG(TEXT("My Log : %s"), TEXT("Hello World!!")); }