improved symbols_resolver

This commit is contained in:
georgemoralis 2024-03-09 18:48:10 +02:00
parent 030906a8fb
commit 771c07a026
2 changed files with 18 additions and 2 deletions

View file

@ -15,8 +15,9 @@ void SymbolsResolver::AddSymbol(const SymbolResolver& s, u64 virtual_addr) {
}
std::string SymbolsResolver::GenerateName(const SymbolResolver& s) {
return fmt::format("{} lib[{}_v{}]mod[{}_v{}.{}]", s.name, s.library, s.library_version,
s.module, s.module_version_major, s.module_version_minor);
return fmt::format("{} lib[{}_v{}]mod[{}_v{}.{}][{}]", s.name, s.library, s.library_version,
s.module, s.module_version_major, s.module_version_minor,
SymbolTypeToS(s.type));
}
const SymbolRecord* SymbolsResolver::FindSymbol(const SymbolResolver& s) const {

View file

@ -44,6 +44,21 @@ public:
static std::string GenerateName(const SymbolResolver& s);
static std::string SymbolTypeToS(SymbolType symType) {
switch (symType) {
case SymbolType::Unknown:
return "Unknown";
case SymbolType::Function:
return "Function";
case SymbolType::Object:
return "Object";
case SymbolType::Tls:
return "Tls";
case SymbolType::NoType:
return "NoType";
}
}
private:
std::vector<SymbolRecord> m_symbols;
};