Поделиться через


DEBUG_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;
}

Термины

  • ulAppDomainID
    Идентификатор процесса

  • guidModule
    Идентификатор GUID модуля, содержащего этот адрес.

  • tokClass
    Токен, задав класс или тип адреса.

    Примечание

    Это значение поставщику символов и поэтому не имеет смысл смысл как общий, отличный от идентификатора для типа класса.

  • addr
    A DEBUG_ADDRESS_UNION структура, которая содержит объединение структур, которые описывают отдельные типы адреса. Значение addr.dwKind поступает из ADDRESS_KIND перечисление, которое объясняет, как интерпретировать соединение.

Заметки

Эта структура передается IDebugAddress::GetAddress метод, который требуется заполнить.

Предупреждение только [C++]

If addr.dwKind существует ADDRESS_KIND_METADATA_LOCAL и addr.addr.addrLocal.pLocal имеет значение NULL, необходимо вызвать Release указателя токена:

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

Требования

Заголовок: sh.h

Пространство имен: Microsoft.VisualStudio.Debugger.Interop

Сборка: Microsoft.VisualStudio.Debugger.Interop.dll

См. также

Ссылки

структуры и объединения

IDebugAddress::GetAddress

DEBUG_ADDRESS_UNION

ADDRESS_KIND