[UE4] 버그 추적 정보 출력 명령

1. 개요



버그 추적을 위한 정보를 출력하는 콘솔 명령을 소개합니다.
사용법은 명령의 입력바(콘솔)를 내고 "BugIt를 입력하기만 하면 됩니다.

2. 명령



BugIt
로그 정보(Viewport 좌표, 현재 맵 이름, 시간, 버전 등), Slate를 포함한 스크린샷(.png)을 출력할 수 있습니다.

[파일 출력처]
[PROJECT]/Saved/BugIt/의 바로 아래가 됩니다.


[로그 출력 예]


3. 구현



구현은 CheatManager.cpp의 다음 부분에서 정의됩니다.

CheatManager.cpp

void UCheatManager::BugIt( const FString& ScreenShotDescription )
{
    APlayerController* const MyPlayerController = GetOuterAPlayerController();

    // Path will be <gamename>/bugit/<platform>/desc/desc_ (BugItDir() includes a platform and trailing slash)
    const FString BaseFile = FString::Printf(TEXT("%s%s/%s_"), *FPaths::BugItDir(), *ScreenShotDescription, *ScreenShotDescription);
    FString ScreenShotFile;

    // find the next filename in the sequence, e.g <gamename>/bugit/<platform>/desc_00000.png
    FFileHelper::GenerateNextBitmapFilename(BaseFile, TEXT("png"), ScreenShotFile);

    // request a screenshot to that path
    MyPlayerController->ConsoleCommand( FString::Printf(TEXT("BUGSCREENSHOTWITHHUDINFO %s"), *ScreenShotFile));

    FVector ViewLocation;
    FRotator ViewRotation;
    MyPlayerController->GetPlayerViewPoint( ViewLocation, ViewRotation );

    if( MyPlayerController->GetPawn() != NULL )
    {
        ViewLocation = MyPlayerController->GetPawn()->GetActorLocation();
    }

    FString GoString, LocString;
    BugItStringCreator( ViewLocation, ViewRotation, GoString, LocString );

    // Log bugit data to a textfile with the same name as the screenshot
    LogOutBugItGoToLogFile( ScreenShotDescription, ScreenShotFile, GoString, LocString );
}


4. 정리



이 콘솔 명령을 사용하면 문제점을 식별하고 조사하는 데 도움이됩니다.
이들을 잘 활용하여 디버깅을 효율적으로 수행합시다.

좋은 웹페이지 즐겨찾기