IDebugField

This interface represents a field, that is, a description of a symbol or type.

IDebugField : IUnknown

Notes for Implementers

A symbol provider implements this interface as the base class for all fields.

Notes for Callers

This interface is the base class for all fields. Based on the return value of IDebugField::GetKind, this interface may return more specialized interfaces by using QueryInterface. In addition, many interfaces return IDebugField objects from various methods.

Methods in Vtable Order

The following table shows the methods of IDebugField.

Method

Description

IDebugField::GetInfo

Gets displayable information about the symbol or type.

IDebugField::GetKind

Gets the kind of field.

IDebugField::GetType

Gets the type of field.

IDebugField::GetContainer

Gets the container of the field.

IDebugField::GetAddress

Gets the address of the field.

IDebugField::GetSize

Gets the size of a field, in bytes.

IDebugField::GetExtendedInfo

Gets extended information about a field.

IDebugField::Equal

Compares two fields.

IDebugField::GetTypeInfo

Gets type-independent information about the symbol or type.

Remarks

A type is equivalent to a C language typedef.

In the following C++ language example, weather is a class type, and sunny and stormy are symbols:

class weather;
weather sunny;
weather stormy;

Whether a field represents a symbol or type can be determined by calling IDebugField::GetKind and examining the FIELD_KIND result. If the FIELD_KIND_TYPE bit is set, the field is a type, and if the FIELD_KIND_SYMBOL bit is set, it is a symbol.

Requirements

Header: sh.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See Also

Concepts

Symbol Provider Interfaces