From: Jean-Paul Mari Date: Sat, 17 Apr 2021 09:19:19 +0000 (-0400) Subject: Improve the DWARF source line number reporting X-Git-Tag: v2.1.3-R5^2~16 X-Git-Url: http://git.hcoop.net/clinton/Virtual-Jaguar-Rx.git/commitdiff_plain/221c056f7daf2433d85b21835ec22537cd24c2ba Improve the DWARF source line number reporting --- diff --git a/src/debugger/DWARFManager.cpp b/src/debugger/DWARFManager.cpp index d8bdb9c..21febcb 100644 --- a/src/debugger/DWARFManager.cpp +++ b/src/debugger/DWARFManager.cpp @@ -1879,9 +1879,16 @@ size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag) { for (size_t k = 0; k < PtrCU[i].PtrSubProgs[j].NbLinesSrc; k++) { - if ((PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].StartPC == Adr) && (!Tag || (PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].Tag == Tag))) + if (PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].StartPC <= Adr) + { + if ((PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].StartPC == Adr) && (!Tag || (PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].Tag == Tag))) + { + return PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].NumLineSrc; + } + } + else { - return PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].NumLineSrc; + return PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k - 1].NumLineSrc; } } }