2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Copyright 2013-2014, Rene Gollent, rene@gollent.com.
4 * Distributed under the terms of the MIT License.
6 #ifndef DEBUGGER_IMAGE_DEBUG_INFO_H
7 #define DEBUGGER_IMAGE_DEBUG_INFO_H
10 #include "ImageInfo.h"
11 #include "SpecificImageDebugInfo.h"
15 class DebuggerInterface
;
19 class DebuggerImageDebugInfo
: public SpecificImageDebugInfo
{
21 DebuggerImageDebugInfo(
22 const ImageInfo
& imageInfo
,
23 DebuggerInterface
* debuggerInterface
,
24 Architecture
* architecture
);
25 virtual ~DebuggerImageDebugInfo();
29 virtual status_t
GetFunctions(
30 const BObjectList
<SymbolInfo
>& symbols
,
31 BObjectList
<FunctionDebugInfo
>& functions
);
32 virtual status_t
GetType(GlobalTypeCache
* cache
,
34 const TypeLookupConstraints
& constraints
,
36 virtual bool HasType(const BString
& name
,
37 const TypeLookupConstraints
& constraints
)
40 virtual AddressSectionType
GetAddressSectionType(target_addr_t address
);
41 virtual status_t
CreateFrame(Image
* image
,
42 FunctionInstance
* functionInstance
,
44 bool getFullFrameInfo
,
45 ReturnValueInfoList
* returnValueInfos
,
46 StackFrame
*& _previousFrame
,
47 CpuState
*& _previousCpuState
);
48 virtual status_t
GetStatement(FunctionDebugInfo
* function
,
49 target_addr_t address
,
50 Statement
*& _statement
);
51 virtual status_t
GetStatementAtSourceLocation(
52 FunctionDebugInfo
* function
,
53 const SourceLocation
& sourceLocation
,
54 Statement
*& _statement
);
56 virtual status_t
GetSourceLanguage(FunctionDebugInfo
* function
,
57 SourceLanguage
*& _language
);
59 virtual ssize_t
ReadCode(target_addr_t address
, void* buffer
,
62 virtual status_t
AddSourceCodeInfo(LocatableFile
* file
,
63 FileSourceCode
* sourceCode
);
67 DebuggerInterface
* fDebuggerInterface
;
68 Architecture
* fArchitecture
;
72 #endif // DEBUGGER_IMAGE_DEBUG_INFO_H