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


DkmClrModuleInstance Класс

Определение

DkmClrModuleInstance используется для модулей, которые загружаются в среду CLR.

Производные классы: DkmClrNcModuleInstance

public ref class DkmClrModuleInstance : Microsoft::VisualStudio::Debugger::DkmModuleInstance
[System.Runtime.InteropServices.Guid("29da4ffa-6063-6232-46dd-64d14cf56ddf")]
public class DkmClrModuleInstance : Microsoft.VisualStudio.Debugger.DkmModuleInstance
[<System.Runtime.InteropServices.Guid("29da4ffa-6063-6232-46dd-64d14cf56ddf")>]
type DkmClrModuleInstance = class
    inherit DkmModuleInstance
Public Class DkmClrModuleInstance
Inherits DkmModuleInstance
Наследование
Наследование
Производный
Атрибуты

Свойства

AppDomain

DkmClrAppDomain представляет домен приложения CLR в отлаживаемом процессе.

BaseAddress

[Необязательно] Начальный адрес памяти, где был загружен модуль. Это значение будет равным нулю, если модуль не загрузится в непрерывном блоке памяти.

(Унаследовано от DkmModuleInstance)
ClrFlags

Флаги, указывающие признаки DkmModuleInstance, загруженного средой CLR.

Connection

Это представляет собой соединение между монитором и интегрированной среды разработки. Это может быть локальное подключение, если монитор выполняется в том же процессе, что и интегрированная среда разработки, или удаленное подключение. В процессе мониторинга существует только одно подключение.

(Унаследовано от DkmModuleInstance)
Flags

Флаги, указывающие признаки DkmModuleInstance.

(Унаследовано от DkmModuleInstance)
FullName

Полное имя модуля. Для файловых модулей это полный путь к модулю (например, c:\windows\system32\kernel32.dll.

(Унаследовано от DkmModuleInstance)
ILImageSize

Указывает размер il-образа этого модуля, так как он относится к поиску сервера символов. Для платформа .NET Framework рабочего стола будет указан размер образа IL, который будет отличаться от размера необработанного изображения в случае ngen. Это связано с тем, что на серверах символов индексируется только образ IL. Для .NET Core ngen и готовности к запуску будет указан необработанный размер образа, так как образ ngen/ready to run является индексируемым, и мы не хотим выполнять поиск на основе размера только образа IL.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IsDisabled

Указывает, отключен ли этот экземпляр модуля. Отладчик в значительной степени игнорирует отключенные модули. Для собственных модулей диапазон адресов отключенного модуля обрабатывается так, как если бы он не сопоставлен. Для модулей CLR все кадры из этих модулей скрыты из стека вызовов.

(Унаследовано от DkmModuleInstance)
IsUnloaded

Возвращает значение true, если для этого объекта было инициировано событие "unloaded" (например, вызывается DkmThread::Unload) или если объект был закрыт. Обратите внимание, что при проверке этого состояния необходимо соблюдать осторожность, так как без синхронизации возвращаемое состояние может быть не точным после чтения инструкции.

(Унаследовано от DkmDataContainer)
LoadContext

Строковое описание контекста, в который был загружен этот модуль. Например, Win32 или CLR версии 2.0.50727: домен по умолчанию.

(Унаследовано от DkmModuleInstance)
LoadOrder

Целочисленное число экземпляров модуля, загруженных до и включая этот модуль. Каждый экземпляр среды выполнения отслеживает собственный порядок загрузки.

(Унаследовано от DkmModuleInstance)
MemoryLayout

Перечисление, указывающее, как модуль находится в памяти.

(Унаследовано от DkmModuleInstance)
MinidumpInfoPart

[Необязательно] MinidumpInfoPart используется для передачи дополнительных сведений о модулях в DkmProcess для минидампа.

(Унаследовано от DkmModuleInstance)
Module

[Необязательно] Представление обработчика символов модуля (DkmModule), связанного с этим экземпляром модуля. Изначально это значение равно NULL и присваивается, если с этим экземпляром модуля связаны символы.

(Унаследовано от DkmModuleInstance)
Mvid

Идентификатор версии модуля из загруженного модуля. Это уникальное значение, которое внедряется в файл exe/dll компоновщиками или компиляторами при сборке dll/exe. При каждой компиляции библиотеки dll/exe создается новое значение.

Name

Краткое представление имени модуля. Для файловых модулей это имя и расширение файла (например, kernel32.dll).

(Унаследовано от DkmModuleInstance)
Process

DkmProcess представляет отлаживаемый целевой процесс. Отладчик выполняет отладку процессов, поэтому это базовая единица отладки. DkmProcess может представлять системный процесс или виртуальный процесс, например минидампы.

(Унаследовано от DkmModuleInstance)
RuntimeInstance

Представляет экземпляр среды CLR, выполняющийся в целевом процессе.

Size

[Необязательно] Количество байтов в области памяти модуля. Это значение будет равно нулю, если модуль не загрузится в непрерывном блоке памяти.

(Унаследовано от DkmModuleInstance)
SymbolFileId

[Необязательно] Содержит сведения, необходимые для поиска символов для этого модуля. В Win32 эти сведения содержатся в IMAGE_DEBUG_DIRECTORY.

(Унаследовано от DkmModuleInstance)
TagValue

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

(Унаследовано от DkmModuleInstance)
TimeDateStamp

Дата и время сборки загруженного модуля. Это значение получается из IMAGE_NT_HEADERS загруженного модуля. Единица измерения — это значение FILETIME, которое представляет собой 64-разрядное значение, представляющее число 100-наносекундных интервалов с 1 января 1601 г. (UTC).

(Унаследовано от DkmModuleInstance)
UniqueId

Уникально идентифицирует объект DkmModuleInstance.

(Унаследовано от DkmModuleInstance)
Version

[Необязательно] Сведения о версии файла.

(Унаследовано от DkmModuleInstance)

Методы

CanDecompileMethod(DkmClrMethodId)

Предоставляет сведения о том, можно ли декомпилировать указанный метод.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

CanDecompileModule(DkmDecompilerMode)

Предоставляет сведения о том, можно ли декомпилировать модуль в заданном режиме.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

ClearTransitionModuleFlag()

Экземпляры среды выполнения вызывают этот метод, чтобы пометить модуль как пограничный модуль. При пошаговом выполнении среды выполнения должны проверка, если шаг достиг пограничного модуля, и при необходимости начать арбитраж шагов. Обратите внимание, что некоторые среды выполнения могут не выполнить этот запрос. Диспетчер будет вести подсчет количества вызовов FlagAsTransitionModule. Модуль больше не будет считаться переходным модулем, только если соответствующее число вызовов ClearTransitionModuleFlag.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

(Унаследовано от DkmModuleInstance)
Create(String, String, UInt64, DkmModuleVersion, DkmSymbolFileId, DkmModuleFlags, DkmModuleMemoryLayout, UInt64, UInt32, UInt32, String, DkmClrRuntimeInstance, Guid, DkmClrModuleFlags, DkmClrAppDomain, Boolean, DkmModule, DkmModuleInstance+MinidumpInfo, DkmDataItem)

Create новый экземпляр объекта DkmClrModuleInstance.

Этот метод отправляет событие ModuleInstanceLoad.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Create(String, String, UInt64, DkmModuleVersion, DkmSymbolFileId, DkmModuleFlags, DkmModuleMemoryLayout, UInt64, UInt32, UInt32, String, DkmClrRuntimeInstance, Guid, DkmClrModuleFlags, DkmClrAppDomain, UInt32, Boolean, DkmModule, DkmModuleInstance+MinidumpInfo, DkmDataItem)

Create новый экземпляр объекта DkmClrModuleInstance.

Этот метод отправляет событие ModuleInstanceLoad.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Decompile()

Декомпилирует код модуля на C# и создает новый переносимый PDB-файл с внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 16 с обновлением 5 (DkmApiVersion.VS16Update5).

(Унаследовано от DkmModuleInstance)
Decompile(DkmDecompilerMode, String, Int32)

Декомпилирует код модуля на C# и создает новый переносимый PDB-файл с внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы. Реализации должны возвращать S_OK при сбое и возвращать фактические данные HRESULT и любые дополнительные сведения об ошибке с помощью параметров HR и ErrorMessage.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult>)

Декомпилирует код модуля на C# и создает новый переносимый PDB-файл с внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 16 с обновлением 5 (DkmApiVersion.VS16Update5).

(Унаследовано от DkmModuleInstance)
Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

Декомпилирует код модуля на C# и создает новый переносимый PDB-файл с внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы. Реализации должны возвращать S_OK при сбое и возвращать фактические данные HRESULT и любые дополнительные сведения об ошибке с помощью параметров HR и ErrorMessage.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 3 (DkmApiVersion.VS17Update3).

(Унаследовано от DkmModuleInstance)
Decompile(DkmWorkList, DkmDecompilerMode, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

Декомпилирует код модуля на C# и создает новый переносимый PDB-файл с внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы. Реализации должны возвращать S_OK при сбое и возвращать фактические данные HRESULT и любые дополнительные сведения об ошибке с помощью параметров HR и ErrorMessage.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

Decompile(String, Int32)

Декомпилирует код модуля в C# и создает новую переносимую PDB-платформу с внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы. Реализации должны возвращать S_OK при сбое и возвращать фактические данные HRESULT и любые дополнительные сведения об ошибке с помощью параметров HR и ErrorMessage.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 3 (DkmApiVersion.VS17Update3).

(Унаследовано от DkmModuleInstance)
DecompileDocument(DkmWorkList, String, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

Декомпилирует код документа на C# и обновляет файл символов, связанный с содержащим модулем, необходимыми сведениями об отладке и внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы. Реализации должны возвращать S_OK при сбое и возвращать фактические данные HRESULT и любые дополнительные сведения об ошибке с помощью параметров HR и ErrorMessage.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

DecompileDocument(String, String, Int32)

Декомпилирует код документа на C# и обновляет файл символов, связанный с содержащим модулем, необходимыми сведениями об отладке и внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы. Реализации должны возвращать S_OK при сбое и возвращать фактические данные HRESULT и любые дополнительные сведения об ошибке с помощью параметров HR и ErrorMessage.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

DecompileMethods(DkmWorkList, ReadOnlyCollection<DkmClrMethodId>, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

Декомпилирует код для методов на C# и обновляет файл символов, связанный с содержащим модулем, необходимыми сведениями об отладке и внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы. Реализации должны возвращать S_OK при сбое и возвращать фактические данные HRESULT и любые дополнительные сведения об ошибке с помощью параметров HR и ErrorMessage.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

DecompileMethods(ReadOnlyCollection<DkmClrMethodId>, String, Int32)

Декомпилирует код для методов на C# и обновляет файл символов, связанный с содержащим модулем, необходимыми сведениями об отладке и внедренным источником. Все модули, которые совместно используют этот файл символов, начнут использовать эти обновленные символы. Реализации должны возвращать S_OK при сбое и возвращать фактические данные HRESULT и любые дополнительные сведения об ошибке с помощью параметров HR и ErrorMessage.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

FlagAsTransitionModule()

Экземпляры среды выполнения вызывают этот метод, чтобы пометить модуль как граничный модуль. При пошаговом выполнении среды выполнения должны проверка, если шаг достиг пограничного модуля, и при необходимости начать пошаговое разбирательство. Обратите внимание, что некоторые среды выполнения могут не выполнить этот запрос. Диспетчер будет вести подсчет количества вызовов. Модуль больше не будет считаться переходным модулем, только если было выполнено соответствующее количество вызовов ClearTransitionModuleFlag.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

(Унаследовано от DkmModuleInstance)
GetBaselineMetaDataBytes()

Получает базовые байты метаданных СРЕДЫ CLR из заданного модуля.

Этот API появился в Visual Studio 15 с обновлением 5 (DkmApiVersion.VS15Update5).

GetBaselineMetaDataBytesPtr(UInt32)

Получите указатель на исходные необработанные байты метаданных для заданного модуля.

Ограничение расположения: нет.

Этот API появился в Visual Studio 15 с обновлением 5 (DkmApiVersion.VS15Update5).

GetCorObject()

Предоставляет прямой доступ к объекту ICorDebugModule, который вычислители выражений или другие компоненты могут использовать для проверки домена приложения.

Возвращенный интерфейс может использоваться ТОЛЬКО для проверки целевого процесса и никогда не должен использоваться для управления выполнением (без пошагового выполнения, точек останова, без продолжения и т. д.). Это не поддерживается и приведет к неопределенному поведению.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

GetDataItem<T>()

Возвращает экземпляр "T", добавленный в этот экземпляр контейнера. Если этот контейнер не содержит "T", эта функция возвращает значение NULL.

(Унаследовано от DkmDataContainer)
GetEncAvailability(String)

Проверяет, поддерживается ли изменение и продолжение для соответствующего экземпляра управляемого модуля.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 16 с обновлением 1 (DkmApiVersion.VS16Update1).

GetEncILDelta(Int32)

Отвечает за запрос разностного il-файла, связанного с экземпляром модуля CLR. Дельта IL — это результирующие байты изменения кода, которые могут повлиять на несколько методов. Это используется VIL при запросе сведений об измененном методе в модуле.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 16 с обновлением 3 (DkmApiVersion.VS16Update3).

GetGPUDisassembly(UInt64, UInt32, Boolean, Boolean)

Получите дизассемблию диапазона адресов в экземпляре модуля отладки.

(Унаследовано от DkmModuleInstance)
GetGPUDisassemblySize()

Возвращает размер дизассемблируемого объекта в экземпляре модуля отладки.

(Унаследовано от DkmModuleInstance)
GetLocalSignatureToken(Int32)

Возвращает маркер подписи для сигнатуры локальной переменной, заданной маркером метода.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetMetaDataBytes()

Получает байты метаданных среды CLR из заданного модуля. Затем эти байты можно передать в IMetaDataDispenser::OpenScope для декодирования метаданных.

GetMetaDataBytesPtr(UInt32)

Получение указателя на необработанные байты метаданных для заданного модуля.

ПРИМЕЧАНИЕ. Это значение указателя станет недопустимым, если модуль а) выгружен или б) изменен. Чтобы обнаружить эти сценарии, а) добавьте элемент данных в экземпляр модуля. Указатель будет недопустимым после вызова метода OnClose (при выгрузке экземпляра модуля). б) Реализуйте IDkmClrModuleModifiedNotification.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetMetaDataFileInfo(Boolean, UInt32, UInt32)

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

Этот API появился в Visual Studio 16 с обновлением 2 (DkmApiVersion.VS16Update2).

GetMetaDataImport()

Получает метаданные среды CLR из заданного модуля. Дополнительные сведения о метаданных см. в документации по IMetaDataImport на сайте MSDN.

ПРИМЕЧАНИЕ. Вызывающие абоненты должны проявлять большую осторожность при использовании этого API из управляемого кода. Реализация IMetaDataImport может содержать дескриптор файла в отлаживаемом файле, и дескриптор файла будет закрыт, только если количество ссылок COM достигнет нуля. Поэтому его необходимо освободить вручную (Marshal.IsComObject + Marshal.ReleaseComObject), а не ждать, пока сборка мусора обнаружит, что объект может быть освобожден. При тестировании убедитесь, что отлаживаемый файл содержит не менее 64 КБ метаданных, так как средство чтения метаданных не будет блокировать файл для чтения при работе с небольшими файлами.

GetMetadataStatus()

Получение состояния метаданных.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetMethodTokens(DkmWorkList, String, String, DkmCompletionRoutine<DkmGetMethodTokensAsyncResult>)

Предоставляет механизм получения маркеров метаданных для метода, заданного классом . Эквивалент IMetaDataImport::EnumMethodsWithName.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetMethodTokens(String, String, Int32[])

Предоставляет механизм получения маркеров метаданных для метода, заданного классом . Эквивалент IMetaDataImport::EnumMethodsWithName.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetNextGPUInstructionAddress(UInt64)

Возвращает адрес следующей инструкции относительно начального адреса.

(Унаследовано от DkmModuleInstance)
GetSymbolLoadInformation()

Возвращает строку, описывающую различные расположения, в которых были обнаружены символы, и результат проверки этого расположения. Эти сведения используются для заполнения сведений о загрузке символов в окне модулей.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

(Унаследовано от DkmModuleInstance)
GetSymbolSearchResult()

Извлекает все результаты поиска символов, связанные с данным экземпляром модуля.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 3 (DkmApiVersion.VS17Update3).

(Унаследовано от DkmModuleInstance)
GetSymbolSearchResult(DkmWorkList, DkmCompletionRoutine<DkmGetSymbolSearchResultAsyncResult>)

Извлекает все результаты поиска символов, связанные с данным экземпляром модуля.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 3 (DkmApiVersion.VS17Update3).

(Унаследовано от DkmModuleInstance)
GetSymbolStatusMessage(Boolean)

Получите локализованное строковое описание текущего состояния символа.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

(Унаследовано от DkmModuleInstance)
GetSymbolStatusMessage(DkmWorkList, Boolean, DkmCompletionRoutine<DkmGetSymbolStatusMessageAsyncResult>)

Получите локализованное строковое описание текущего состояния символа.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

(Унаследовано от DkmModuleInstance)
GetSymUnmanagedReader()

Этот API предоставляет частичную реализацию ISymUnmanagedReader2 для модуля CLR.

Ограничение расположения. Обеспечивает частичную реализацию ISymUnmanagedReader2 для обеих сторон удаленного подключения.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

GetTypeIdForTypeName(String)

Возвращает идентификатор типа для заданного имени типа.

Этот API появился в Visual Studio 17 с обновлением 8 (DkmApiVersion.VS17Update8).

InterpretManagedMethod(DkmClrMethodId, ReadOnlyCollection<DkmClrType>, ReadOnlyCollection<DkmClrType>, DkmILInterpreterValue, ReadOnlyCollection<DkmILInterpreterValue>, Int32, DkmILInterpreterOptions, String)

Имитирует выполнение метода в объекте путем интерпретации кода MSIL метода. Результат метода будет возвращен вызывающей стороне. Однако в отличие от вычисления функции, в которой метод фактически выполняется в целевом объекте, интерпретация метода фактически не выполняет метод, а просто имитирует поведение метода. Так как метод фактически никогда не выполняется, все побочные эффекты, возникающие в результате выполнения метода, отменяются после завершения интерпретации метода, в результате чего целевой процесс находится в состоянии, идентичном состоянию, полученному до вызова.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IsSuppressed()

Этот метод позволяет компоненту определить, подавлялось ли событие загрузки модуля.

Этот API появился в Visual Studio 12 с обновлением 3 (DkmApiVersion.VS12Update3).

(Унаследовано от DkmModuleInstance)
IsTransitionModule()

Возвращает значение true, если какой-либо экземпляр среды выполнения помечает этот модуль как модуль перехода.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

(Унаследовано от DkmModuleInstance)
IsUserCode()

Определяет, считается ли модуль пользовательским кодом.

Ограничение расположения. Этот метод можно вызвать из компонента интегрированной среды разработки. Начиная с Visual Studio 2013 с обновлением 2 его также можно вызвать из компонента мониторинга для управляемого кода. В Visual Studio 2017 с обновлением 8 callDirection API был сделан "двунаправленным" из "Normal" и теперь может вызываться из любого компонента. AsyncCaller было задано значение true, а для CallerLocationConstraint — значение None из NoMarshalling.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Унаследовано от DkmModuleInstance)
IsUserCode(DkmWorkList, DkmCompletionRoutine<DkmModuleInstanceIsUserCodeAsyncResult>)

Определяет, считается ли модуль пользовательским кодом.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Ограничение расположения. Этот метод можно вызвать из компонента интегрированной среды разработки. Начиная с Visual Studio 2013 с обновлением 2 его также можно вызвать из компонента мониторинга для управляемого кода. В Visual Studio 2017 с обновлением 8 callDirection API был сделан "двунаправленным" из "Normal" и теперь может вызываться из любого компонента. AsyncCaller было задано значение true, а для CallerLocationConstraint — значение None из NoMarshalling.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Унаследовано от DkmModuleInstance)
OnBinaryLoaded(String)

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

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Унаследовано от DkmModuleInstance)
OnBinaryReloadOpportunity()

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

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 12 с обновлением 2 (DkmApiVersion.VS12Update2).

(Унаследовано от DkmModuleInstance)
OnModuleModified()

Этот метод вызывается при изменении модуля из-за EnC или динамически выдаваемого кода.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

(Унаследовано от DkmModuleInstance)
OnSymbolsLoaded(DkmModule, Boolean)

Этот метод вызывается базовыми мониторами отладки в ответ на вызов IDkmModuleSymbolsLoaded.RaiseSymbolsLoadedEvent. Этот метод должен вызываться из потока событий или из потока запроса в рамках перезагрузки. Базовые мониторы отладки должны синхронно переключаться на поток событий, приостанавливать целевой процесс и вызывать OnSymbolsLoaded.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

(Унаследовано от DkmModuleInstance)
OnSymbolsUpdated(DkmModule)

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

(Унаследовано от DkmModuleInstance)
ReadSymbols()

Этот метод вызывается обработчиками символов для чтения символов для экземпляров DkmModuleInstance, символы которых находятся в памяти отладчика.

(Унаследовано от DkmModuleInstance)
RemoveDataItem<T>()

Удалите экземпляр T из этого контейнера. Обычно не требуется вызывать этот метод, так как контейнер данных автоматически очищается при закрытии объекта.

(Унаследовано от DkmDataContainer)
ResolveTypeName(String, ReadOnlyCollection<DkmClrType>)

Разрешает имя типа в тип. Если тип является универсальным, универсальные параметры не будут создаваться.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

SetDataItem<T>(DkmDataCreationDisposition, T)

Поместите новый элемент в контейнер данных.

(Унаследовано от DkmDataContainer)
SetDisabled(Boolean)

Обновления состояние отключенного модуля. Этот метод может вызываться только из события ModuleInstanceLoad. При отключении модуля обычно также подавляется событие загрузки модуля.

(Унаследовано от DkmModuleInstance)
SetModule(DkmModule, Boolean)

Этот метод вызывается поставщиком символов для связывания DkmModule с DkmModuleInstance и для активации события ModuleSymbolsLoaded. Он может вызываться только один раз для объекта DkmModuleInstance. Вызов этого API создаст связь DkmModule-DkmModuleInstance<>, а также вызовет событие ModuleSymbolsLoaded.

(Унаследовано от DkmModuleInstance)
TryLoadBinary()

Попытайтесь загрузить двоичный файл, который ранее не удалось загрузить с помощью обновленных путей к символам.

(Унаследовано от DkmModuleInstance)
TryLoadBinary(DkmWorkList, DkmCompletionRoutine<DkmTryLoadBinaryAsyncResult>)

Попытайтесь загрузить двоичный файл, который ранее не удалось загрузить с помощью обновленных путей к символам.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

(Унаследовано от DkmModuleInstance)
TryLoadDecompiledSymbols()

Пытается загрузить кэшированные декомпилированные символы для модуля.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

TryLoadDecompiledSymbols(DkmWorkList, DkmCompletionRoutine<DkmTryLoadDecompiledSymbolsAsyncResult>)

Пытается загрузить кэшированные декомпилированные символы для модуля.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

TryLoadSymbols()

Вызывается для запуска загрузки символов для DkmModuleInstances, символы которых не были найдены при загрузке модуля.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

(Унаследовано от DkmModuleInstance)
TryLoadSymbols(DkmSymbolLoadFlags)

Вызывается для запуска загрузки символов для DkmModuleInstances, символы которых не были найдены при загрузке модуля.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 4 (DkmApiVersion.VS17Update4).

(Унаследовано от DkmModuleInstance)
TryLoadSymbols(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>)

Вызывается для запуска загрузки символов для DkmModuleInstances, символы которых не были найдены при загрузке модуля.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

(Унаследовано от DkmModuleInstance)
TryLoadSymbols(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>)

Вызывается для запуска загрузки символов для DkmModuleInstances, символы которых не были найдены при загрузке модуля.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень > компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 4 (DkmApiVersion.VS17Update4).

(Унаследовано от DkmModuleInstance)
TryLoadSymbolsCallback()

Вызывается для запуска загрузки символов для DkmModuleInstances, символы которых не были найдены при загрузке модуля.

Ограничение расположения. Это можно вызвать с клиента или сервера. Серверная реализация этого является кэшем для предотвращения ненужных сетевых вызовов. Клиент переходит непосредственно к "реальной" реализации, которая также гарантирует, что повторные проверки возвращаются рано.

Этот API появился в Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

(Унаследовано от DkmModuleInstance)
TryLoadSymbolsCallback(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsCallbackAsyncResult>)

Вызывается для запуска загрузки символов для DkmModuleInstances, символы которых не были найдены при загрузке модуля.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения. Это можно вызвать с клиента или сервера. Серверная реализация этого является кэшем для предотвращения ненужных сетевых вызовов. Клиент переходит непосредственно к "реальной" реализации, которая также гарантирует, что повторные проверки возвращаются рано.

Этот API появился в Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

(Унаследовано от DkmModuleInstance)
TryLoadSymbolsCallback177(DkmSymbolLoadFlags)

Вызывается для запуска загрузки локально представленных символов для объектов DkmModuleInstances, символы которых не были найдены при загрузке модуля.

Ограничение расположения. Это можно вызвать с клиента или сервера. Серверная реализация этого является кэшем для предотвращения ненужных сетевых вызовов. Клиент переходит непосредственно к "реальной" реализации, которая также гарантирует, что повторные проверки возвращаются рано.

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

(Унаследовано от DkmModuleInstance)
TryLoadSymbolsCallback177(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsCallback177AsyncResult>)

Вызывается для запуска загрузки локально представленных символов для объектов DkmModuleInstances, символы которых не были найдены при загрузке модуля.

Этот метод добавляет новый рабочий элемент в указанный рабочий список и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен в рамках процедуры завершения.

Ограничение расположения. Это можно вызвать с клиента или сервера. Серверная реализация этого является кэшем для предотвращения ненужных сетевых вызовов. Клиент переходит непосредственно к "реальной" реализации, которая также гарантирует, что повторные проверки возвращаются рано.

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

(Унаследовано от DkmModuleInstance)
TryResolveToken(DkmStackWalkFrame, Int32, DkmClrType, Int32)

Пытается разрешить маркер из область этого модуля в определяющий модуль.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 17 с обновлением 8 (DkmApiVersion.VS17Update8).

Unload()

Пометьте объект Unload как выгруженный и уведомите компоненты, реализующие интерфейс приемника событий. Элемент управления возвращается после уведомления всех компонентов.

Этот метод может вызываться только компонентом, создавший объект .

(Унаследовано от DkmModuleInstance)

Применяется к