internal_symbolizer_(internal_symbolizer),
libbacktrace_symbolizer_(libbacktrace_symbolizer) {}
- uptr SymbolizePC(uptr addr, AddressInfo *frames, uptr max_frames) {
+ uptr SymbolizePC(uptr addr, AddressInfo *frames, uptr max_frames) override {
BlockingMutexLock l(&mu_);
if (max_frames == 0)
return 0;
return frame_id;
}
- bool SymbolizeData(uptr addr, DataInfo *info) {
+ bool SymbolizeData(uptr addr, DataInfo *info) override {
BlockingMutexLock l(&mu_);
LoadedModule *module = FindModuleForAddress(addr);
if (module == 0)
}
bool GetModuleNameAndOffsetForPC(uptr pc, const char **module_name,
- uptr *module_address) {
+ uptr *module_address) override {
BlockingMutexLock l(&mu_);
return FindModuleNameAndOffsetForAddress(pc, module_name, module_address);
}
- bool CanReturnFileLineInfo() {
+ bool CanReturnFileLineInfo() override {
return internal_symbolizer_ != 0 || external_symbolizer_ != 0 ||
libbacktrace_symbolizer_ != 0;
}
- void Flush() {
+ void Flush() override {
BlockingMutexLock l(&mu_);
if (internal_symbolizer_ != 0) {
SymbolizerScope sym_scope(this);
}
}
- const char *Demangle(const char *name) {
+ const char *Demangle(const char *name) override {
BlockingMutexLock l(&mu_);
// Run hooks even if we don't use internal symbolizer, as cxxabi
// demangle may call system functions.
return DemangleCXXABI(name);
}
- void PrepareForSandboxing() {
+ void PrepareForSandboxing() override {
#if SANITIZER_LINUX && !SANITIZER_ANDROID
BlockingMutexLock l(&mu_);
// Cache /proc/self/exe on Linux.
public:
WinSymbolizer() : initialized_(false) {}
- uptr SymbolizePC(uptr addr, AddressInfo *frames, uptr max_frames) {
+ uptr SymbolizePC(uptr addr, AddressInfo *frames, uptr max_frames) override {
if (max_frames == 0)
return 0;
return 1;
}
- bool CanReturnFileLineInfo() {
+ bool CanReturnFileLineInfo() override {
return true;
}
- const char *Demangle(const char *name) {
+ const char *Demangle(const char *name) override {
CHECK(initialized_);
static char demangle_buffer[1000];
if (name[0] == '\01' &&