[vbox-dev] rflags missing in debug core dump

samuele.defrancesco sdefrancesco at tetrane.com
Mon Jun 6 12:49:31 GMT 2016


Hi,

I noticed the standardized CPU dump struct does not contain rflags 
register field. If I am right, the following patch should fix the problem.

Index: include/VBox/vmm/dbgfcorefmt.h
===================================================================
--- include/VBox/vmm/dbgfcorefmt.h    (revision 61473)
+++ include/VBox/vmm/dbgfcorefmt.h    (working copy)
@@ -48,7 +48,7 @@
  /** DBGCORECOREDESCRIPTOR::u32Magic. */
  #define DBGFCORE_MAGIC          UINT32_C(0xc01ac0de)
  /** DBGCORECOREDESCRIPTOR::u32FmtVersion. */
-#define DBGFCORE_FMT_VERSION    UINT32_C(0x00010003)
+#define DBGFCORE_FMT_VERSION    UINT32_C(0x00010004)

  /**
   * An x86 segment selector.
@@ -100,6 +100,7 @@
      uint64_t            rip;
      uint64_t            rsp;
      uint64_t            rbp;
+    uint64_t            rflags;
      DBGFCORESEL         cs;
      DBGFCORESEL         ds;
      DBGFCORESEL         es;
Index: src/VBox/VMM/VMMR3/DBGFCoreWrite.cpp
===================================================================
--- src/VBox/VMM/VMMR3/DBGFCoreWrite.cpp    (revision 61473)
+++ src/VBox/VMM/VMMR3/DBGFCoreWrite.cpp    (working copy)
@@ -344,6 +344,7 @@
      pDbgfCpu->rip             = pCtx->rip;
      pDbgfCpu->rsp             = pCtx->rsp;
      pDbgfCpu->rbp             = pCtx->rbp;
+    pDbgfCpu->rflags          = pCtx->rflags.u;
      DBGFCOPYSEL(pDbgfCpu->cs, pCtx->cs);
      DBGFCOPYSEL(pDbgfCpu->ds, pCtx->ds);
      DBGFCOPYSEL(pDbgfCpu->es, pCtx->es);


Regards,
     Sam



More information about the vbox-dev mailing list