[Lldb-commits] [lldb] [lldb] Add caching and _NT_SYMBOL_PATH parsing in SymbolLocatorSymStore (PR #191782)
Stefan Gränitz via lldb-commits
lldb-commits at lists.llvm.org
Fri Apr 17 04:23:45 PDT 2026
================
@@ -103,6 +112,79 @@ SymbolLocator *SymbolLocatorSymStore::CreateInstance() {
namespace {
+SymbolLocatorSymStore::LookupEntry MakeLookupEntry(llvm::StringRef source) {
+ SymbolLocatorSymStore::LookupEntry entry;
+ entry.source = source.str();
+ entry.cache = std::nullopt;
+ return entry;
+}
+
+SymbolLocatorSymStore::LookupEntry MakeLookupEntry(llvm::StringRef source,
+ llvm::StringRef cache) {
+ SymbolLocatorSymStore::LookupEntry entry;
+ entry.source = source.str();
+ entry.cache = cache.str();
+ return entry;
+}
+
+std::vector<SymbolLocatorSymStore::LookupEntry> GetGlobalLookupOrder() {
+ std::vector<SymbolLocatorSymStore::LookupEntry> result;
+
+ const char *sym_path = std::getenv("_NT_SYMBOL_PATH");
+ for (auto entry : SymbolLocatorSymStore::ParseEnvSymbolPaths(sym_path))
+ result.push_back(std::move(entry));
+
+ const char *alt_path = std::getenv("_NT_ALT_SYMBOL_PATH");
+ for (auto entry : SymbolLocatorSymStore::ParseEnvSymbolPaths(alt_path))
+ result.push_back(std::move(entry));
----------------
weliveindetail wrote:
Oh right, that's a very good catch! The naming is very unintuitive, but the reasoning makes sense: "[...] you might want to use `_NT_ALT_SYMBOL_PATH` to override these settings in special cases, such as if you have private versions of shared symbol files." Let me double-check that with WinDBG!
https://github.com/llvm/llvm-project/pull/191782
More information about the lldb-commits
mailing list