Applies to: yesVisual Studio noVisual Studio for Mac noVisual Studio Code

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 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
GetInfo Gets displayable information about the symbol or type.
GetKind Gets the kind of field.
GetType Gets the type of field.
GetContainer Gets the container of the field.
GetAddress Gets the address of the field.
GetSize Gets the size of a field, in bytes.
GetExtendedInfo Gets extended information about a field.
Equal Compares two fields.
GetTypeInfo Gets type-independent information about the symbol or type.


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 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.


Header: sh.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See also