X-Git-Url: http://git.hcoop.net/clinton/Virtual-Jaguar-Rx.git/blobdiff_plain/f0dd2f7b7cc2f165b00dedcbc5bf6fbaa2ca136d..ef0da6debd1fc73d0f4c3914e21d9a09dd8fe7e7:/src/debugger/DBGManager.cpp diff --git a/src/debugger/DBGManager.cpp b/src/debugger/DBGManager.cpp index 720fefc..1d024e3 100644 --- a/src/debugger/DBGManager.cpp +++ b/src/debugger/DBGManager.cpp @@ -11,10 +11,12 @@ // JPM Various efforts to set the ELF format support // JPM Various efforts to set the DWARF format support // JPM 09/15/2018 Support the unsigned char -// JPM Oct./2018 Cosmetic changes, and added source file search paths +// JPM Oct./2018 Cosmetic changes, added source file search paths, and ELF function name +// JPM Sept./2019 Support the unsigned/signed short type // // To Do +// To think about unique format to handle variations from ELF, DWARF, etc. // @@ -42,8 +44,10 @@ struct Value bool B; double D; float F; + int16_t SS; int32_t SI; int64_t SL; + uint16_t US; uint32_t UI; uint64_t UL; }; @@ -502,6 +506,10 @@ char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t case DBG_ATE_signed: switch (TypeByteSize) { + case 2: + sprintf(value, "%i", V.SS); + break; + case 4: sprintf(value, "%i", V.SI); break; @@ -521,6 +529,10 @@ char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t case DBG_ATE_unsigned: switch (TypeByteSize) { + case 2: + sprintf(value, "%u", V.US); + break; + case 4: sprintf(value, "%u", V.UI); break; @@ -627,14 +639,19 @@ char *DBGManager_GetGlobalVariableName(size_t Index) // Return NULL if no function name has been found char *DBGManager_GetFunctionName(size_t Adr) { + char *Symbolname = NULL; + if ((DBGType & DBG_ELFDWARF)) { - return DWARFManager_GetFunctionName(Adr); + Symbolname = DWARFManager_GetFunctionName(Adr); } - else + + if ((DBGType & DBG_ELF) && (Symbolname == NULL)) { - return NULL; + Symbolname = ELFManager_GetFunctionName(Adr); } + + return Symbolname; }