- Timestamp:
- Mar 27, 2019 12:14:54 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/dbg/dbgmoddwarf.cpp
r76553 r77913 649 649 { 650 650 #define TAGDESC(a_Name, a_pDesc) { DW_ ## a_Name, #a_Name, a_pDesc } 651 #define TAGDESC_EMPTY() { 0, NULL, NULL}651 #define TAGDESC_EMPTY() { 0, NULL, &g_CoreDieDesc } 652 652 #define TAGDESC_CORE(a_Name) TAGDESC(a_Name, &g_CoreDieDesc) 653 653 TAGDESC_EMPTY(), /* 0x00 */ … … 6187 6187 rc = rtDwarfLine_ExplodeAll(pThis); 6188 6188 } 6189 6190 /* 6191 * Free the cached abbreviations and unload all sections. 6192 */ 6193 pThis->cCachedAbbrevsAlloced = 0; 6194 RTMemFree(pThis->paCachedAbbrevs); 6195 pThis->paCachedAbbrevs = NULL; 6196 6197 for (unsigned iSect = 0; iSect < RT_ELEMENTS(pThis->aSections); iSect++) 6198 if (pThis->aSections[iSect].pv) 6199 pThis->pDbgInfoMod->pImgVt->pfnUnmapPart(pThis->pDbgInfoMod, pThis->aSections[iSect].cb, 6200 &pThis->aSections[iSect].pv); 6201 6189 6202 if (RT_SUCCESS(rc)) 6190 6203 { 6191 /*6192 * Free the cached abbreviations and unload all sections.6193 */6194 pThis->cCachedAbbrevsAlloced = 0;6195 RTMemFree(pThis->paCachedAbbrevs);6196 pThis->paCachedAbbrevs = NULL;6197 6198 for (unsigned iSect = 0; iSect < RT_ELEMENTS(pThis->aSections); iSect++)6199 if (pThis->aSections[iSect].pv)6200 pThis->pDbgInfoMod->pImgVt->pfnUnmapPart(pThis->pDbgInfoMod, pThis->aSections[iSect].cb,6201 &pThis->aSections[iSect].pv);6202 6203 6204 /** @todo Kill pThis->CompileUnitList and the alloc caches. */ 6204 6205 return VINF_SUCCESS; … … 6214 6215 } 6215 6216 6216 RTMemFree(pThis->paCachedAbbrevs); 6217 if (pThis->paCachedAbbrevs) 6218 RTMemFree(pThis->paCachedAbbrevs); 6219 pThis->paCachedAbbrevs = NULL; 6220 6221 for (unsigned iSect = 0; iSect < RT_ELEMENTS(pThis->aSections); iSect++) 6222 if (pThis->aSections[iSect].pv) 6223 pThis->pDbgInfoMod->pImgVt->pfnUnmapPart(pThis->pDbgInfoMod, pThis->aSections[iSect].cb, 6224 &pThis->aSections[iSect].pv); 6217 6225 6218 6226 #ifdef RTDBGMODDWARF_WITH_MEM_CACHE
Note:
See TracChangeset
for help on using the changeset viewer.