Class PdbStream
- Namespace
- AsmResolver.PE.DotNet.Metadata
- Assembly
- AsmResolver.PE.dll
Represents the metadata stream containing Portable PDB debug data that is associated to a .NET module.
public class PdbStream : SegmentBase, IMetadataStream, ISegment, IOffsetProvider, IWritable
- Inheritance
-
PdbStream
- Implements
- Derived
- Inherited Members
Fields
DefaultName
The default name of a PDB stream, as described in the specification provided by Portable PDB v1.0.
public const string DefaultName = "#Pdb"
Field Value
Properties
CanRead
Gets a value indicating whether the raw contents of the stream can be read using a binary stream reader.
public virtual bool CanRead { get; }
Property Value
EntryPoint
Gets or sets the token of the entry point method, or 9 if not applicable.
public MetadataToken EntryPoint { get; set; }
Property Value
Remarks
This should be the same value as stored in the metadata header.
Id
Gets the unique identifier representing the debugging metadata blob content.
public byte[] Id { get; }
Property Value
- byte[]
Name
Gets or sets the name of the metadata stream.
public string Name { get; set; }
Property Value
TypeSystemRowCounts
Gets an array of row counts of every portable PDB table in the tables stream.
public uint[] TypeSystemRowCounts { get; }
Property Value
- uint[]
Methods
ComputeReferencedTypeSystemTables()
Computes the valid bitmask for the type system table rows referenced by this pdb stream.
public ulong ComputeReferencedTypeSystemTables()
Returns
- ulong
The bitmask.
CreateReader()
Creates a binary reader that reads the raw contents of the metadata stream.
public virtual BinaryStreamReader CreateReader()
Returns
- BinaryStreamReader
The reader.
Exceptions
- InvalidOperationException
Occurs when CanRead is
false
.
GetPhysicalSize()
Computes the number of bytes that the structure contains.
public override uint GetPhysicalSize()
Returns
- uint
The number of bytes.
UpdateRowCounts(TablesStream)
Synchronizes the row counts stored in TypeSystemRowCounts with the tables in the provided tables stream.
public void UpdateRowCounts(TablesStream stream)
Parameters
stream
TablesStreamThe tables stream to pull the data from.
UpdateRowCounts(uint[])
Synchronizes the row counts stored in TypeSystemRowCounts with the tables in the provided tables stream row counts.
public void UpdateRowCounts(uint[] rowCounts)
Parameters
rowCounts
uint[]The tables stream row counts to pull in.
Write(BinaryStreamWriter)
Serializes the structure to an output stream.
public override void Write(BinaryStreamWriter writer)
Parameters
writer
BinaryStreamWriterThe output stream to write the data to.