Files
UnrealEngineUWP/Engine/Source/Programs/LiveCodingConsole/Private/LiveCodingManifest.h
ben marsh e357715701 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

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 6455253 in //UE4/Release-4.22/... via CL 6455273
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6512984 by ben marsh in Dev-VR branch]
2019-05-15 16:17:53 -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);
};