Debugging Tools for Windows

DEBUG_VALUE

The DEBUG_VALUE structure holds register and expression values.

typedef struct _DEBUG_VALUE {
  union {
    UCHAR  I8;
    USHORT  I16;
    ULONG  I32;
    struct {
      ULONG64  I64;
      BOOL  Nat;
    };
    float  F32;
    double  F64;
    UCHAR  F80Bytes[10];
    UCHAR  F82Bytes[11];
    UCHAR  F128Bytes[16];
    UCHAR  VI8[16];
    USHORT  VI16[8];
    ULONG  VI32[4];
    ULONG64  VI64[2];
    float  VF32[4];
    double  VF64[2];
    struct {
      ULONG  LowPart;
      ULONG  HighPart;
    }  I64Parts32;
    struct {
      ULONG64  LowPart;
      LONG64  HighPart;
    }  F128Parts64;
    UCHAR  RawBytes[24];
  };
  ...
  ULONG  Type;
} DEBUG_VALUE, *PDEBUG_VALUE;

The Type field specifies the value type that is being held by the structure. This also specifies which field in the structure is valid. The possible values of the Type field, and the corresponding field specified as valid in the structure, include the following.

Type Name Type Valid DEBUG_VALUE Field
DEBUG_VALUE_INT8 8-bit signed integer I8
DEBUG_VALUE_INT16 16-bit signed integer I16
DEBUG_VALUE_INT32 32-bit signed integer I32
DEBUG_VALUE_INT64 64-bit signed integer I64
DEBUG_VALUE_FLOAT32 32-bit floating point number F32
DEBUG_VALUE_FLOAT64 64-bit floating point number F64
DEBUG_VALUE_FLOAT80 80-bit floating point number F80Bytes
DEBUG_VALUE_FLOAT128 128-bit floating point number F128Bytes
DEBUG_VALUE_VECTOR64 64-bit vector VI8[8], VI16[4], VI32[2], VI64[1], VF32[2], VF64[1]
DEBUG_VALUE_VECTOR128 128-bit vector VI8[16], VI16[8], VI32[4], VI64[2], VF32[4], VF64[2]

Requirements

Headers: Defined in DbgEng.h. Include DbgEng.h.

Build machine: CAPEBUILD