Files
UnrealEngineUWP/Engine/Source/Programs/LiveCodingConsole/Private/LiveCodingManifest.h
Ben Marsh ba077509fe Live Coding: Fix crashes when patching adaptive non-unity files in game modules containing static global variables.
Live++ reads object files at startup for game modules, and assigns unique ids to each compiland (used to disambiguate static variables). When compiling the patch, these compilands are modified to reference a unique id for the unity blob, causing the variables to be reconstructed.

Solution is to generate a JSON file to each output directory containing object files containing the mapping, and to use that to assign compiland ids at startup.

#rb none
#jira UE-74036

[CL 6453851 by Ben Marsh in Dev-Build branch]
2019-05-14 17:48:05 -04:00

18 lines
449 B
C

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Serialization/JsonReader.h"
#include "Serialization/JsonSerializer.h"
struct FLiveCodingManifest
{
FString LinkerPath;
TMap<FString, FString> LinkerEnvironment;
TMap<FString, TArray<FString>> BinaryToObjectFiles;
bool Read(const TCHAR* FileName, FString& OutFailReason);
bool Parse(FJsonObject& Object, FString& OutFailReason);
};