VirtualBox

Ignore:
Timestamp:
Jun 7, 2010 3:23:09 PM (15 years ago)
Author:
vboxsync
Message:

VMM: ring-0 assertion call stack for 64-bit hosts (only tested linux).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMGuruMeditation.cpp

    r30073 r30081  
    391391                                        "!!\n"
    392392                                        "!! Call Stack:\n"
    393                                         "!!\n"
    394                                         "EBP      Ret EBP  Ret CS:EIP    Arg0     Arg1     Arg2     Arg3     CS:EIP        Symbol [line]\n");
     393                                        "!!\n");
     394#if HC_ARCH_BITS == 32
     395                        pHlp->pfnPrintf(pHlp, "EBP      Ret EBP  Ret CS:EIP    Arg0     Arg1     Arg2     Arg3     CS:EIP        Symbol [line]\n");
     396#else
     397                        pHlp->pfnPrintf(pHlp, "RBP              Ret RBP          Ret RIP          RIP              Symbol [line]\n");
     398#endif
    395399                        for (PCDBGFSTACKFRAME pFrame = pFirstFrame;
    396400                             pFrame;
    397401                             pFrame = DBGFR3StackWalkNext(pFrame))
    398402                        {
     403#if HC_ARCH_BITS == 32
    399404                            pHlp->pfnPrintf(pHlp,
    400                                             "%08RX32 %08RX32 %04RX32:%08RX32 %08RX32 %08RX32 %08RX32 %08RX32",
    401                                             (uint32_t)pFrame->AddrFrame.off,
    402                                             (uint32_t)pFrame->AddrReturnFrame.off,
    403                                             (uint32_t)pFrame->AddrReturnPC.Sel,
    404                                             (uint32_t)pFrame->AddrReturnPC.off,
     405                                            "%RHv %RHv %04RX32:%RHv %RHv %RHv %RHv %RHv",
     406                                            (RTHCUINTPTR)pFrame->AddrFrame.off,
     407                                            (RTHCUINTPTR)pFrame->AddrReturnFrame.off,
     408                                            (RTHCUINTPTR)pFrame->AddrReturnPC.Sel,
     409                                            (RTHCUINTPTR)pFrame->AddrReturnPC.off,
    405410                                            pFrame->Args.au32[0],
    406411                                            pFrame->Args.au32[1],
    407412                                            pFrame->Args.au32[2],
    408413                                            pFrame->Args.au32[3]);
    409                             pHlp->pfnPrintf(pHlp, " %RTsel:%08RGv", pFrame->AddrPC.Sel, pFrame->AddrPC.off);
     414                            pHlp->pfnPrintf(pHlp, " %RTsel:%08RHv", pFrame->AddrPC.Sel, pFrame->AddrPC.off);
     415#else
     416                            pHlp->pfnPrintf(pHlp,
     417                                            "%RHv %RHv %RHv %RHv",
     418                                            (RTHCUINTPTR)pFrame->AddrFrame.off,
     419                                            (RTHCUINTPTR)pFrame->AddrReturnFrame.off,
     420                                            (RTHCUINTPTR)pFrame->AddrReturnPC.off,
     421                                            (RTHCUINTPTR)pFrame->AddrPC.off);
     422#endif
    410423                            if (pFrame->pSymPC)
    411424                            {
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