VirtualBox

Ignore:
Timestamp:
Jul 25, 2018 1:02:11 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
123965
Message:

VBoxGuest,VMMDev,DBGF,VM: Added bug check report to VBoxGuest/VMMDev and hooked it up to DBGF. Made DBGF remember the last reported bug check, adding an info handler for displaying it. Added VM reset counters w/ getters for use in bug check reporting.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp

    r70873 r73351  
    29592959{
    29602960    if (g_pauKiBugCheckData)
     2961    {
    29612962        RTLogBackdoorPrintf("VBoxGuest: BugCheck! P0=%#zx P1=%#zx P2=%#zx P3=%#zx P4=%#zx\n", g_pauKiBugCheckData[0],
    2962                             g_pauKiBugCheckData[1],  g_pauKiBugCheckData[2], g_pauKiBugCheckData[3],  g_pauKiBugCheckData[4]);
     2963                            g_pauKiBugCheckData[1], g_pauKiBugCheckData[2], g_pauKiBugCheckData[3], g_pauKiBugCheckData[4]);
     2964
     2965        VMMDevReqNtBugCheck *pReq = NULL;
     2966        int rc = VbglR0GRAlloc((VMMDevRequestHeader **)&pReq, sizeof(*pReq), VMMDevReq_NtBugCheck);
     2967        if (RT_SUCCESS(rc))
     2968        {
     2969            pReq->uBugCheck       = g_pauKiBugCheckData[0];
     2970            pReq->auParameters[0] = g_pauKiBugCheckData[1];
     2971            pReq->auParameters[1] = g_pauKiBugCheckData[2];
     2972            pReq->auParameters[2] = g_pauKiBugCheckData[3];
     2973            pReq->auParameters[3] = g_pauKiBugCheckData[4];
     2974            VbglR0GRPerform(&pReq->header);
     2975            VbglR0GRFree(&pReq->header);
     2976        }
     2977    }
    29632978    else
     2979    {
    29642980        RTLogBackdoorPrintf("VBoxGuest: BugCheck!\n");
     2981
     2982        VMMDevRequestHeader *pReqHdr = NULL;
     2983        int rc = VbglR0GRAlloc(&pReqHdr, sizeof(*pReqHdr), VMMDevReq_NtBugCheck);
     2984        if (RT_SUCCESS(rc))
     2985        {
     2986            VbglR0GRPerform(pReqHdr);
     2987            VbglR0GRFree(pReqHdr);
     2988        }
     2989    }
    29652990
    29662991    RT_NOREF(pvBuffer, cbBuffer);
Note: See TracChangeset for help on using the changeset viewer.

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