DEBUG_ADDRESS

This structure represents an address.

typedef struct _tagDEBUG_ADDRESS {
   ULONG32             ulAppDomainID;
   GUID                guidModule;
   _mdToken            tokClass;
   DEBUG_ADDRESS_UNION addr;
} DEBUG_ADDRESS;
public struct DEBUG_ADDRESS {
   public uint                ulAppDomainID;
   public Guid                guidModule;
   public int                 tokClass;
   public DEBUG_ADDRESS_UNION addr;
}

Terms

  • ulAppDomainID
    The process ID.

  • guidModule
    The GUID of the module that contains this address.

  • tokClass
    The token identifying the class or type of this address.

    Note

    This value is specific to a symbol provider and therefore has no general meaning other than as an identifier for a class type.

  • addr
    A DEBUG_ADDRESS_UNION structure, which contains a union of structures that describe the individual address types. The value addr.dwKind comes from the ADDRESS_KIND enumeration, which explains how to interpret the union.

Remarks

This structure is passed to the IDebugAddress::GetAddress method to be filled in.

Warning [C++ only]

If addr.dwKind is ADDRESS_KIND_METADATA_LOCAL and if addr.addr.addrLocal.pLocal is not a null value, then you must call Release on the token pointer:

if (addr.dwKind == ADDRESS_KIND_METADATA_LOCAL &&  addr.addr.addrLocal.pLocal != NULL)
{
    addr.addr.addrLocal.pLocal->Release();
}

Requirements

Header: sh.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See Also

Reference

Structures and Unions

IDebugAddress::GetAddress

DEBUG_ADDRESS_UNION

ADDRESS_KIND