Files
SabreTools.Serialization/SabreTools.Data.Models/PortableExecutable/DebugData/NB10ProgramDatabase.cs

45 lines
1.4 KiB
C#
Raw Normal View History

2025-09-26 12:09:34 -04:00
using System.Runtime.InteropServices;
2025-09-26 13:06:18 -04:00
namespace SabreTools.Data.Models.PortableExecutable.DebugData
2025-09-26 12:09:34 -04:00
{
/// <summary>
/// PDB 2.0 files
/// </summary>
/// <see href="https://www.debuginfo.com/articles/debuginfomatch.html"/>
[StructLayout(LayoutKind.Sequential)]
public sealed class NB10ProgramDatabase
{
/// <summary>
2025-10-30 23:29:24 -04:00
/// "CodeView signature, equal to “NB10”
2025-09-26 12:09:34 -04:00
/// </summary>
public uint Signature;
/// <summary>
/// CodeView offset. Set to 0, because debug information
/// is stored in a separate file.
/// </summary>
public uint Offset;
/// <summary>
/// The time when debug information was created (in seconds
2025-10-30 23:29:24 -04:00
/// since 01.01.1970)
2025-09-26 12:09:34 -04:00
/// </summary>
public uint Timestamp;
/// <summary>
/// Ever-incrementing value, which is initially set to 1 and
/// incremented every time when a part of the PDB file is updated
2025-10-30 23:29:24 -04:00
/// without rewriting the whole file.
2025-09-26 12:09:34 -04:00
/// </summary>
public uint Age;
/// <summary>
/// Null-terminated name of the PDB file. It can also contain full
/// or partial path to the file.
/// </summary>
/// <remarks>Is this Unicode?</remarks>
[MarshalAs(UnmanagedType.LPStr)]
public string PdbFileName = string.Empty;
2025-09-26 12:09:34 -04:00
}
}