/* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. * Copyright 2013-2014, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ #include "DebuggerImageDebugInfo.h" #include #include #include #include "Architecture.h" #include "BasicFunctionDebugInfo.h" #include "DebuggerInterface.h" #include "Demangler.h" #include "SymbolInfo.h" DebuggerImageDebugInfo::DebuggerImageDebugInfo(const ImageInfo& imageInfo, DebuggerInterface* debuggerInterface, Architecture* architecture) : fImageInfo(imageInfo), fDebuggerInterface(debuggerInterface), fArchitecture(architecture) { fDebuggerInterface->AcquireReference(); } DebuggerImageDebugInfo::~DebuggerImageDebugInfo() { fDebuggerInterface->ReleaseReference(); } status_t DebuggerImageDebugInfo::Init() { return B_OK; } status_t DebuggerImageDebugInfo::GetFunctions(const BObjectList& symbols, BObjectList& functions) { return SpecificImageDebugInfo::GetFunctionsFromSymbols(symbols, functions, fDebuggerInterface, fImageInfo, this); } status_t DebuggerImageDebugInfo::GetType(GlobalTypeCache* cache, const BString& name, const TypeLookupConstraints& constraints, Type*& _type) { return B_UNSUPPORTED; } bool DebuggerImageDebugInfo::HasType(const BString& name, const TypeLookupConstraints& constraints) const { return false; } AddressSectionType DebuggerImageDebugInfo::GetAddressSectionType(target_addr_t address) { return ADDRESS_SECTION_TYPE_UNKNOWN; } status_t DebuggerImageDebugInfo::CreateFrame(Image* image, FunctionInstance* functionInstance, CpuState* cpuState, bool getFullFrameInfo, ReturnValueInfoList* returnValueInfos, StackFrame*& _previousFrame, CpuState*& _previousCpuState) { return B_UNSUPPORTED; } status_t DebuggerImageDebugInfo::GetStatement(FunctionDebugInfo* function, target_addr_t address, Statement*& _statement) { return fArchitecture->GetStatement(function, address, _statement); } status_t DebuggerImageDebugInfo::GetStatementAtSourceLocation( FunctionDebugInfo* function, const SourceLocation& sourceLocation, Statement*& _statement) { return B_ENTRY_NOT_FOUND; } status_t DebuggerImageDebugInfo::GetSourceLanguage(FunctionDebugInfo* function, SourceLanguage*& _language) { return B_UNSUPPORTED; } ssize_t DebuggerImageDebugInfo::ReadCode(target_addr_t address, void* buffer, size_t size) { return fDebuggerInterface->ReadMemory(address, buffer, size); } status_t DebuggerImageDebugInfo::AddSourceCodeInfo(LocatableFile* file, FileSourceCode* sourceCode) { return B_UNSUPPORTED; }