VirtualBox

Changeset 73351 in vbox for trunk/src/VBox/VMM/include


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.

Location:
trunk/src/VBox/VMM/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/DBGFInternal.h

    r69474 r73351  
    300300    /** INT3 breakpoint search optimizations. */
    301301    DBGFBPSEARCHOPT             Int3;
     302
     303    /**
     304     * Bug check data.
     305     * @note This will not be reset on reset.
     306     */
     307    struct
     308    {
     309        /** The ID of the CPU reporting it. */
     310        VMCPUID                 idCpu;
     311        /** The event associated with the bug check (gives source).
     312         * This is set to DBGFEVENT_END if no BSOD data here. */
     313        DBGFEVENTTYPE           enmEvent;
     314        /** The total reset count at the time (VMGetResetCount). */
     315        uint32_t                uResetNo;
     316        /** Explicit padding. */
     317        uint32_t                uPadding;
     318        /** When it was reported (TMVirtualGet). */
     319        uint64_t                uTimestamp;
     320        /** The bug check number.
     321         * @note This is really just 32-bit wide, see KeBugCheckEx.  */
     322        uint64_t                uBugCheck;
     323        /** The bug check parameters. */
     324        uint64_t                auParameters[4];
     325    } BugCheck;
    302326} DBGF;
    303327AssertCompileMemberAlignment(DBGF, DbgEvent, 8);
     
    490514int  dbgfR3PlugInInit(PUVM pUVM);
    491515void dbgfR3PlugInTerm(PUVM pUVM);
     516int  dbgfR3BugCheckInit(PVM pVM);
    492517
    493518
  • trunk/src/VBox/VMM/include/VMInternal.h

    r69474 r73351  
    166166    /** The VM should power off instead of reset. */
    167167    bool                            fPowerOffInsteadOfReset;
     168    /** Reset counter (soft + hard). */
     169    uint32_t                        cResets;
     170    /** Hard reset counter. */
     171    uint32_t                        cHardResets;
     172    /** Soft reset counter. */
     173    uint32_t                        cSoftResets;
    168174} VMINT;
    169175/** Pointer to the VM Internal Data (part of the VM structure). */
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