static std::unique_ptr<Dso> CreateDso(DsoType dso_type, const std::string& dso_path = "");
~Dso();
+
+ // Return the path recorded in perf.data.
const std::string& Path() const {
return path_;
}
- const Symbol* FindSymbol(uint64_t offset_in_dso);
+ // Return the accessible path. It may be the same as Path(), or
+ // return the path with prefix set by SetSymFsDir().
+ std::string GetAccessiblePath() const;
+
+ // Return the minimum virtual address in program header.
+ uint64_t MinVirtualAddress();
+
+ const Symbol* FindSymbol(uint64_t vaddr_in_dso);
private:
static BuildId GetExpectedBuildId(const std::string& filename);
const DsoType type_;
const std::string path_;
+ uint64_t min_vaddr_;
std::vector<Symbol> symbols_;
bool is_loaded_;
};