Debugging Tools for Windows |
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] |
Headers: Defined in DbgEng.h. Include DbgEng.h.