3 #ifndef __DBGMANAGER_H__
4 #define __DBGMANAGER_H__
16 // Tag based in the DW_TAG_... list from the dwarf.h
19 DBG_TAG_pointer_type
= 0x0f,
20 DBG_TAG_compile_unit
= 0x11,
21 DBG_TAG_base_type
= 0x24,
22 DBG_TAG_subprogram
= 0x2e,
26 // Encoding based in the DW_ATE_... list from the dwarf.h
27 // Except for the DBG_ATE_ptr
30 DBG_ATE_address
= 0x1, // linear machine address
31 DBG_ATE_boolean
= 0x2, // true or false
32 DBG_ATE_complex_float
= 0x3, // complex floating-point number
33 DBG_ATE_float
= 0x4, // floating-point number
34 DBG_ATE_signed
= 0x5, // signed binary integer
35 DBG_ATE_signed_char
= 0x6, // signed character
36 DBG_ATE_unsigned
= 0x7, // unsigned binary integer
37 DBG_ATE_unsigned_char
= 0x8, // unsigned character
38 DBG_ATE_imaginary_float
= 0x9, /* DWARF3 */
39 DBG_ATE_packed_decimal
= 0xa, /* DWARF3f */
40 DBG_ATE_numeric_string
= 0xb, /* DWARF3f */
41 DBG_ATE_edited
= 0xc, /* DWARF3f */
42 DBG_ATE_signed_fixed
= 0xd, /* DWARF3f */
43 DBG_ATE_unsigned_fixed
= 0xe, /* DWARF3f */
44 DBG_ATE_decimal_float
= 0xf, /* DWARF3f */
45 DBG_ATE_ptr
= 0x10, // Specific to DBG Manager to represent pointer type
51 extern void DBGManager_Init(void);
52 extern void DBGManager_SetType(size_t DBGTypeSet
);
53 extern void DBGManager_Reset(void);
54 extern void DBGManager_Close(void);
57 extern char *DBGManager_GetSymbolnameFromAdr(size_t Adr
);
58 extern char *DBGManager_GetFullSourceFilenameFromAdr(size_t Adr
, bool *Error
);
59 extern size_t DBGManager_GetNumLineFromAdr(size_t Adr
, size_t Tag
);
60 extern char *DBGManager_GetLineSrcFromAdr(size_t Adr
, size_t Tag
);
61 extern char *DBGManager_GetLineSrcFromAdrNumLine(size_t Adr
, size_t NumLine
);
62 extern char *DBGManager_GetLineSrcFromNumLineBaseAdr(size_t Adr
, size_t NumLine
);
64 // External variables manager
65 extern size_t DBGManager_GetNbExternalVariables(void);
66 extern char *DBGManager_GetExternalVariableName(size_t Index
);
67 extern size_t DBGManager_GetExternalVariableTypeEncoding(size_t Index
);
68 extern char *DBGManager_GetExternalVariableTypeName(size_t Index
);
69 extern size_t DBGManager_GetExternalVariableTypeByteSize(size_t Index
);
70 extern size_t DBGManager_GetExternalVariableAdr(size_t Index
);
71 extern size_t DBGManager_GetExternalVariableAdrFromName(char *VariableName
);
72 extern size_t DBGManager_GetAdrFromSymbolName(char *SymbolName
);
73 extern char *DBGManager_GetExternalVariableValue(size_t Index
);
74 extern size_t DBGManager_GetExternalVariableTypeTag(size_t Index
);
77 #endif // __DBGMANAGER_H__