VirtualBox

Ignore:
Timestamp:
Nov 11, 2015 2:58:00 PM (9 years ago)
Author:
vboxsync
Message:

rtdbg: Moved the codeview structures into iprt/formats/codeview.h and added some new CV8(?) bits. Made the codeview reader able to handle bs3kit symbol files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/tools/RTLdrFlt.cpp

    r56978 r58662  
    292292                {
    293293                    if (aMappings[iMapping].iSeg == NIL_RTDBGSEGIDX)
     294                    {
    294295                        RTPrintf("  mapping #%u: %RTptr-%RTptr\n",
    295296                                 iMapping,
    296297                                 aMappings[iMapping].Address,
    297298                                 aMappings[iMapping].Address + RTDbgModImageSize(hDbgMod) - 1);
     299                        if (cVerbosityLevel > 2)
     300                        {
     301                            uint32_t cSegments = RTDbgModSegmentCount(hDbgMod);
     302                            for (uint32_t iSeg = 0; iSeg < cSegments; iSeg++)
     303                            {
     304                                RTDBGSEGMENT SegInfo;
     305                                rc = RTDbgModSegmentByIndex(hDbgMod, iSeg, &SegInfo);
     306                                if (RT_SUCCESS(rc))
     307                                    RTPrintf("      seg #%u: %RTptr LB %RTptr '%s'\n",
     308                                             iSeg, SegInfo.uRva, SegInfo.cb, SegInfo.szName);
     309                                else
     310                                    RTPrintf("      seg #%u: %Rrc\n", iSeg, rc);
     311                            }
     312                        }
     313                    }
    298314                    else
    299315                    {
     
    301317                        rc = RTDbgModSegmentByIndex(hDbgMod, aMappings[iMapping].iSeg, &SegInfo);
    302318                        if (RT_SUCCESS(rc))
    303                             RTPrintf("  mapping #%u: %RTptr-%RTptr (segment #%u - '%s')",
     319                            RTPrintf("  mapping #%u: %RTptr-%RTptr (segment #%u - '%s')\n",
    304320                                     iMapping,
    305321                                     aMappings[iMapping].Address,
     
    307323                                     SegInfo.iSeg, SegInfo.szName);
    308324                        else
    309                             RTPrintf("  mapping #%u: %RTptr-???????? (segment #%u)",
    310                                      iMapping, aMappings[iMapping].Address, aMappings[iMapping].iSeg);
     325                            RTPrintf("  mapping #%u: %RTptr-???????? (segment #%u) rc=%Rrc\n",
     326                                     iMapping, aMappings[iMapping].Address, aMappings[iMapping].iSeg, rc);
    311327                    }
    312328
     
    320336                            rc = RTDbgModSymbolByOrdinal(hDbgMod, iSymbol, &SymInfo);
    321337                            if (RT_SUCCESS(rc))
    322                                 RTPrintf("    #%04u at %08x:%RTptr %05llx %s\n",
    323                                          SymInfo.iOrdinal, SymInfo.iSeg, SymInfo.offSeg,
     338                                RTPrintf("    #%04u at %08x:%RTptr (%RTptr) %05llx %s\n",
     339                                         SymInfo.iOrdinal, SymInfo.iSeg, SymInfo.offSeg, SymInfo.Value,
    324340                                         (uint64_t)SymInfo.cb, SymInfo.szName);
    325341                        }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette