Files
ben marsh c3e532b195 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-SOURCE: CL 6455253 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 6455273 by ben marsh in Main branch]
2019-05-14 18:12:06 -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);
};