VirtualBox

Changeset 46127 in vbox for trunk/src/VBox/Runtime/common


Ignore:
Timestamp:
May 16, 2013 2:11:26 PM (12 years ago)
Author:
vboxsync
Message:

Make it possible to load symbols on 64-bit windows 8.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/dbg/dbgmoddbghelp.cpp

    r46108 r46127  
    315315        return TRUE;
    316316    }
    317 
     317    if (pSymInfo->NameLen >= RTDBG_SYMBOL_NAME_LENGTH)
     318    {
     319        Log(("  %#018x LB %#07x  %s  [SKIPPED - TOO LONG (%u > %u)!]\n", pSymInfo->Address, cbSymbol, pSymInfo->Name,
     320             pSymInfo->NameLen, RTDBG_SYMBOL_NAME_LENGTH));
     321        return TRUE;
     322    }
     323
     324    /* ASSUMES the symbol name is ASCII. */
    318325    int rc = RTDbgModSymbolAdd(pArgs->hCnt, pSymInfo->Name, RTDBGSEGIDX_RVA,
    319326                               pSymInfo->Address - pArgs->uModAddr, cbSymbol, 0, NULL);
     
    415422            while (hFake == NULL || hFake == INVALID_HANDLE_VALUE);
    416423
     424            LogFlow(("rtDbgModDbgHelp_TryOpen: \n"));
    417425            if (SymInitialize(hFake, NULL /*SearchPath*/, FALSE /*fInvalidProcess*/))
    418426            {
     
    435443                            pMod->pDbgVt    = &g_rtDbgModVtDbgDbgHelp;
    436444                            hCnt = NIL_RTDBGMOD;
     445                            LogFlow(("rtDbgModDbgHelp_TryOpen: Successfully loaded '%s' at %#llx\n",
     446                                     pMod->pszDbgFile, (uint64_t)uImageBase));
    437447                        }
    438448
     
    440450                    }
    441451                    else
     452                    {
    442453                        rc = RTErrConvertFromWin32(GetLastError());
     454                        LogFlow(("rtDbgModDbgHelp_TryOpen: Error loading the module '%s' at %#llx: %Rrc (%u)\n",
     455                                 pMod->pszDbgFile, (uint64_t)uImageBase, rc, GetLastError()));
     456                    }
    443457                    RTUtf16Free(pwszDbgFile);
    444458                }
     459                else
     460                    LogFlow(("rtDbgModDbgHelp_TryOpen: Unicode version issue: %Rrc\n", rc));
    445461
    446462                BOOL fRc2 = SymCleanup(hFake); Assert(fRc2); NOREF(fRc2);
    447463            }
    448464            else
     465            {
    449466                rc = RTErrConvertFromWin32(GetLastError());
     467                LogFlow(("rtDbgModDbgHelp_TryOpen: SymInitialize failed: %Rrc (%u)\n", rc, GetLastError()));
     468            }
    450469        }
    451470        RTDbgModRelease(hCnt);
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