NativeSymbolReader
Namespace: Dotsider.Core.Analysis
Assembly: Dotsider.Core.dll
Reads a native binary’s symbols — function names, addresses, and sizes — from its debug information, demangling ILC names back to managed names and merging the overlapping records that different symbol sources produce. Windows native PDBs, Linux DWARF, and macOS dSYM/nlist each feed the same merge and demangle pipeline through NativeSourceMap); when no symbols exist, unwind data still yields function boundaries at lower fidelity. The public entry points that dispatch on image format are added as each reader lands.
public static class NativeSymbolReaderInheritance
Section titled “Inheritance”Object → NativeSymbolReader
Methods
Section titled “Methods”Read(string, ReadOnlyMemory<byte>, IReadOnlyList<RecoveredType>)
Section titled “Read(string, ReadOnlyMemory<byte>, IReadOnlyList<RecoveredType>)”Reads the native symbols of a binary, dispatching on image format. Managed and unrecognized images return an empty result marked NotApplicable. A malformed line program omits source attribution from otherwise readable functions; symbol data that yields no functions degrades to the applicable platform fallback and status.
Parameters:
imagePath(String): The binary’s path, used to probe for sidecar symbol files.imageBytes(ReadOnlyMemory<Byte>): The binary’s raw bytes.recoveredTypes(IReadOnlyList<RecoveredType>): Types recovered from the binary’s own metadata, for demangling.
Returns: NativeSymbolInfo
public static NativeSymbolInfo Read(string imagePath, ReadOnlyMemory<byte> imageBytes, IReadOnlyList<RecoveredType> recoveredTypes)