Lines Matching defs:symbol
303 HLOGD("load ko symbol and build id");
322 // set symbol path If it exists
340 HLOGW("kernel symbol not found.\n");
475 void VirtualRuntime::MakeCallFrame(DfxSymbol &symbol, DfxFrame &callFrame)
477 callFrame.funcOffset = symbol.funcVaddr_;
478 callFrame.mapOffset = symbol.offsetToVaddr_;
479 callFrame.symbolFileIndex = symbol.symbolFileIndex_;
480 callFrame.funcName = symbol.GetName();
482 HLOGD("callFrame.funcName:%s, GetName:%s\n", callFrame.funcName.c_str(), symbol.GetName().data());
485 callFrame.index = static_cast<size_t>(symbol.index_);
486 callFrame.mapName = symbol.module_.empty() ? symbol.comm_ : symbol.module_;
487 HLOG_ASSERT_MESSAGE(!callFrame.funcName.empty(), "%s", symbol.ToDebugString().c_str());
498 auto symbol = GetSymbol(ip, pid, tid, context);
499 MakeCallFrame(symbol, recordSample.callFrames_.emplace_back(ip, 0));
500 HLOGV(" (%zu)unwind symbol: %*s%s", recordSample.callFrames_.size(),
817 DfxSymbol symbol = GetSymbol(pc, recordAuxTrace.data_.reserved__, recordAuxTrace.data_.tid);
818 HLOGV("pc 0x%llx symbol %s", pc, symbol.ToDebugString().c_str());
819 struct ReportItemAuxRawData reportItem = {rec.type, 0.0f, 1, symbol.comm_.data(), pc,
820 symbol.module_.data(), symbol.GetName().data(),
821 symbol.fileVaddr_};
853 DfxSymbol symbol = GetSymbol(pc, recordAuxTrace.data_.reserved__, recordAuxTrace.data_.tid);
854 HLOGV("pc 0x%llx symbol %s", pc, symbol.ToDebugString().c_str());
872 HLOGV("already have '%s', symbol index:%zu", map->name.c_str(), i);
900 // set symbol path If it exists
941 HLOGV("found symbol vaddr 0x%" PRIx64 " for runtime vaddr 0x%" PRIx64
950 HLOGW("addr 0x%" PRIx64 " vaddr 0x%" PRIx64 " NOT found in symbol file %s",
958 HLOGW("addr 0x%" PRIx64 " in map but NOT found the symbol file %s", ip,
992 HLOGV("found symbol vaddr 0x%" PRIx64 " for runtime vaddr 0x%" PRIx64 " at '%s'",
1001 HLOGW("addr 0x%" PRIx64 " vaddr 0x%" PRIx64 " NOT found in symbol file %s",
1009 HLOGW("addr 0x%" PRIx64 " in map but NOT found the symbol file %s", ip,
1029 HLOGV("found symbol vaddr 0x%" PRIx64 " for runtime vaddr 0x%" PRIx64 " at '%s'",
1046 HLOGW("addr 0x%" PRIx64 " vaddr 0x%" PRIx64 " NOT found in symbol file %s", ip,
1054 HLOGW("addr 0x%" PRIx64 " in map but NOT found the symbol file %s", ip, map->name.c_str());
1062 bool VirtualRuntime::GetSymbolCache(uint64_t fileVaddr, DfxSymbol &symbol,
1066 CHECK_TRUE(kThreadSymbolCache_.find(symbol.fileVaddr_) == kThreadSymbolCache_.end(), false, 0, "");
1067 symbol = kThreadSymbolCache_[symbol.fileVaddr_];
1068 symbol.hit_++;
1069 HLOGV("hit kernel thread cache 0x%" PRIx64 " %d", fileVaddr, symbol.hit_);
1072 CHECK_TRUE(kernelSymbolCache_.find(symbol.fileVaddr_) == kernelSymbolCache_.end(), false, 0, "");
1073 symbol = kernelSymbolCache_[symbol.fileVaddr_];
1074 symbol.hit_++;
1075 HLOGV("hit kernel cache 0x%" PRIx64 " %d", fileVaddr, symbol.hit_);
1077 } else if (userSymbolCache_.count(symbol.fileVaddr_) != 0) {
1078 const DfxSymbol &cachedSymbol = userSymbolCache_[symbol.fileVaddr_];
1080 if (cachedSymbol.module_ != symbol.module_) {
1083 symbol = cachedSymbol;
1084 symbol.hit_++;
1085 HLOGV("hit user cache 0x%" PRIx64 " %d %s", fileVaddr, symbol.hit_,
1086 symbol.ToDebugString().c_str());
1098 DfxSymbol symbol;
1104 symbol = GetKernelThreadSymbol(ip, kthread);
1107 kThreadSymbolCache_[symbol.fileVaddr_] = symbol;
1108 if (symbol.IsValid()) {
1109 return symbol;
1113 if (context == PERF_CONTEXT_USER or (context == PERF_CONTEXT_MAX and !symbol.IsValid())) {
1115 symbol = GetUserSymbol(ip, GetThread(pid, tid));
1116 if (userSymbolCache_.find(symbol.fileVaddr_) == userSymbolCache_.end()) {
1119 userSymbolCache_[symbol.fileVaddr_] = symbol;
1121 userSymbolCache_[symbol.fileVaddr_].ToDebugString().c_str());
1124 if (context == PERF_CONTEXT_KERNEL or (context == PERF_CONTEXT_MAX and !symbol.IsValid())) {
1127 symbol = GetKernelSymbol(ip, kernelSpaceMemMaps_, GetThread(pid, tid));
1130 kernelSymbolCache_[symbol.fileVaddr_] = symbol;
1132 return symbol;
1194 symbol version
1201 information for doing symbol lookups or versioning. It does
1212 symbol version
1267 HLOGD("add kernel service symbol file: %s", fileName.c_str());
1309 for (auto &symbol : kallsyms->GetSymbols()) {
1310 if (koMaps.find(symbol.module_) == koMaps.end()) {
1311 std::string filename = std::string(symbol.module_);
1316 koMaps[symbol.module_] =
1319 if (koMaps[symbol.module_] == nullptr) {
1322 koMaps[symbol.module_]->AddSymbol(std::move(symbol));