[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 09:17:52 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:
BTW same behavior with the actual SymStore layout in these directories, just that the output now is:
```
DBGHELP: pdb_test_x64 - private symbols & lines
c:\sym\pdb_test_x64.pdb\CDE7A3401BB642D8BF2582E2FA86F2692\pdb_test_x64.pdb
```
https://github.com/llvm/llvm-project/pull/191782
More information about the lldb-commits
mailing list