Files
UnrealEngineUWP/Engine/Source/Programs/MemoryProfiler2/CallStackAddress.cs
Ryan Durand 9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00

48 lines
1.9 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.IO;
namespace MemoryProfiler2
{
/// <summary> Information about an address in a callstack. </summary>
public class FCallStackAddress
{
/// <summary> Program counter. </summary>
public ulong ProgramCounter;
/// <summary> Index of filename in name array. </summary>
public Int32 FilenameIndex;
/// <summary> Index of function in name array. </summary>
public Int32 FunctionIndex;
/// <summary> Line number. </summary>
public Int32 LineNumber;
/// <summary> True if all data is loaded for this address, e.g. filename and line number. </summary>
public bool bIsComplete;
/// <summary> Constructor, initializing indices to a passed in name index and other values to 0. </summary>
/// <param name="NameIndex"> Name index to propagate to all indices. </param>
public FCallStackAddress(int NameIndex)
{
ProgramCounter = 0;
FilenameIndex = NameIndex;
FunctionIndex = NameIndex;
LineNumber = 0;
}
/// <summary> Serializing constructor. </summary>
/// <param name="BinaryStream"> Stream to serialize data from </param>
/// <param name="bShouldSerializeSymbolInfo"> Whether symbol info is being serialized </param>
public FCallStackAddress(BinaryReader BinaryStream,bool bShouldSerializeSymbolInfo)
{
ProgramCounter = BinaryStream.ReadUInt64();
// Platforms not supporting run-time symbol lookup won't serialize the below
if( bShouldSerializeSymbolInfo )
{
FilenameIndex = BinaryStream.ReadInt32();
FunctionIndex = BinaryStream.ReadInt32();
LineNumber = BinaryStream.ReadInt32();
}
}
}
}