namespace SabreTools.Models.PortableExecutable
{
///
/// Image files contain an optional debug directory that indicates what form
/// of debug information is present and where it is. This directory consists
/// of an array of debug directory entries whose location and size are indicated
/// in the image optional header.
///
/// The debug directory can be in a discardable .debug section (if one exists),
/// or it can be included in any other section in the image file, or not be in
/// a section at all.
///
/// Each debug directory entry identifies the location and size of a block of
/// debug information. The specified RVA can be zero if the debug information
/// is not covered by a section header (that is, it resides in the image file
/// and is not mapped into the run-time address space). If it is mapped, the
/// RVA is its address.
///
///
public sealed class DebugDirectoryEntry
{
///
/// Reserved, must be zero.
///
public uint Characteristics { get; set; }
///
/// The time and date that the debug data was created.
///
public uint TimeDateStamp { get; set; }
///
/// The major version number of the debug data format.
///
public ushort MajorVersion { get; set; }
///
/// The minor version number of the debug data format.
///
public ushort MinorVersion { get; set; }
///
/// The format of debugging information. This field enables support
/// of multiple debuggers.
///
public DebugType DebugType { get; set; }
///
/// The size of the debug data (not including the debug directory itself).
///
public uint SizeOfData { get; set; }
///
/// The address of the debug data when loaded, relative to the image base.
///
public uint AddressOfRawData { get; set; }
///
/// The file pointer to the debug data.
///
public uint PointerToRawData { get; set; }
}
}