mirror of
https://github.com/Jacobwasbeast/LegacyWeaveLoader.git
synced 2026-07-02 17:14:18 +00:00
Rename across entire codebase: - LegacyForge -> WeaveLoader (identifiers, namespaces, classes, DLLs) - LegacyForgeRuntime -> WeaveLoaderRuntime (C++ project) - LegacyForge.API/Core/Launcher -> WeaveLoader.API/Core/Launcher (C# projects) - [LegacyForge] -> [WeaveLoader] (log prefixes) - legacyforge -> weaveloader (config files, log files, backup suffixes) - Display name "Weave Loader" in README, CONTRIBUTING, LICENSE
25 lines
841 B
C++
25 lines
841 B
C++
#pragma once
|
|
#include <cstdint>
|
|
|
|
namespace PdbParser
|
|
{
|
|
bool Open(const char* pdbPath);
|
|
|
|
// Returns the RVA for a decorated symbol name, or 0 on failure.
|
|
uint32_t FindSymbolRVA(const char* decoratedName);
|
|
|
|
// Logs all symbols whose name contains the given substring (for debugging).
|
|
void DumpMatching(const char* substring);
|
|
|
|
// Builds a sorted index of all symbols for reverse RVA->name lookup.
|
|
// Must be called while PDB is open. The index survives Close().
|
|
void BuildAddressIndex();
|
|
|
|
// Reverse lookup: given an RVA, find the nearest symbol at or before it.
|
|
// Returns true if found. outName receives the symbol name, outOffset
|
|
// the byte distance from the symbol's start address.
|
|
bool FindNameByRVA(uint32_t rva, char* outName, size_t nameSize, uint32_t* outOffset);
|
|
|
|
void Close();
|
|
}
|