Skip to content

NativeSourceMap

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

An address-sorted map from virtual address to source file and line, aggregated from a native binary’s debug sidecar. Int32%40) resolves an instruction address to its source location the way NativeSymbol%40) resolves an address to a symbol, letting the disassembler annotate the listing with // file:line where the sidecar has data.

public sealed record NativeSourceMap : IEquatable<NativeSourceMap>

ObjectNativeSourceMap

NativeSourceMap(IReadOnlyList<NativeSourceLine>)

Section titled “NativeSourceMap(IReadOnlyList<NativeSourceLine>)”

An address-sorted map from virtual address to source file and line, aggregated from a native binary’s debug sidecar. Int32%40) resolves an instruction address to its source location the way NativeSymbol%40) resolves an address to a symbol, letting the disassembler annotate the listing with // file:line where the sidecar has data.

Parameters:

public NativeSourceMap(IReadOnlyList<NativeSourceLine> Lines)

The source rows, sorted ascending by Address.

Returns: IReadOnlyList<NativeSourceLine>

public IReadOnlyList<NativeSourceLine> Lines { get; init; }

Deconstruct(out IReadOnlyList<NativeSourceLine>)

Section titled “Deconstruct(out IReadOnlyList<NativeSourceLine>)”

Parameters:

public void Deconstruct(out IReadOnlyList<NativeSourceLine> Lines)

Parameters:

Returns: Boolean

public bool Equals(NativeSourceMap? other)

Parameters:

Returns: Boolean

public override bool Equals(object? obj)

Returns: Int32

public override int GetHashCode()

Returns: String

public override string ToString()

Resolves a virtual address to its source file and 1-based line, if mapped.

Parameters:

  • virtualAddress (UInt64): The instruction virtual address.
  • file (String): The source file when found.
  • line (Int32): The 1-based source line when found.

Returns: Boolean

True when the address falls within a mapped row; otherwise false.

public bool TryGetLine(ulong virtualAddress, out string file, out int line)

operator !=(NativeSourceMap?, NativeSourceMap?)

Section titled “operator !=(NativeSourceMap?, NativeSourceMap?)”

Parameters:

Returns: Boolean

public static bool operator !=(NativeSourceMap? left, NativeSourceMap? right)

operator ==(NativeSourceMap?, NativeSourceMap?)

Section titled “operator ==(NativeSourceMap?, NativeSourceMap?)”

Parameters:

Returns: Boolean

public static bool operator ==(NativeSourceMap? left, NativeSourceMap? right)