Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Возвращает интерфейс ICorDebugProcess, соответствующий модулю среды CLR, загруженного в процесс.
Синтаксис
HRESULT OpenVirtualProcess(
[in] ULONG64 moduleBaseAddress,
[in] IUnknown * pDataTarget,
[in] ICLRDebuggingLibraryProvider * pLibraryProvider,
[in] CLR_DEBUGGING_VERSION * pMaxDebuggerSupportedVersion,
[in] REFIID riidProcess,
[out, iid_is(riidProcess)] IUnknown ** ppProcess,
[in, out] CLR_DEBUGGING_VERSION * pVersion,
[out] CLR_DEBUGGING_PROCESS_FLAGS * pdwFlags);
Параметры
moduleBaseAddress [in] Базовый адрес модуля в целевом процессе.
COR_E_NOT_CLR возвращается, если указанный модуль не является модулем СРЕДЫ CLR.
pDataTarget [in] Абстракция целевого объекта данных, которая позволяет управляемому отладчику проверять состояние процесса. Отладчик должен реализовать интерфейс ICorDebugDataTarget . Необходимо реализовать интерфейс ICLRDebuggingLibraryProvider для поддержки сценариев, в которых среда CLR, которая выполняется отладка, не установлена локально на компьютере.
pLibraryProvider [in] Интерфейс обратного вызова поставщика библиотеки, позволяющий находить и загружать библиотеки отладки для конкретной версии по запросу. Этот параметр требуется только в том случае, если ppProcess или pFlags нет null.
pMaxDebuggerSupportedVersion [in] Самая высокая версия среды CLR, которую может выполнить отладчик. Необходимо указать основные, незначительные и сборки версии из последней версии СРЕДЫ CLR, поддерживаемые отладчиком, и задать номер редакции 65535 для размещения будущих выпусков обслуживания CLR на месте.
riidProcess [in] Идентификатор извлекаемого интерфейса ICorDebugProcess. В настоящее время единственными допустимыми значениями являются IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2и IID_CORDEBUGPROCESS.
ppProcess [out] Указатель на com-интерфейс, который определяется riidProcess.
pVersion [in, out] Версия среды CLR. В входных данных это значение может быть null. Он также может указывать на CLR_DEBUGGING_VERSION структуру, в этом случае поле структуры wStructVersion должно быть инициализировано до 0 (ноль).
В выходных данных возвращаемая CLR_DEBUGGING_VERSION структура будет заполнена сведениями о версии среды CLR.
pdwFlags [out] Информационные флаги для указанной среды выполнения. Описание флагов см. в CLR_DEBUGGING_PROCESS_FLAGS.
Возвращаемое значение
Этот метод возвращает следующие определенные hrESULTs, а также ошибки HRESULT, указывающие на сбой метода.
| HRESULT | Description |
|---|---|
| S_OK | Метод успешно завершен. |
| E_POINTER |
pDataTarget равно null. |
| CORDBG_E_LIBRARY_PROVIDER_ERROR | Обратный вызов ICLRDebuggingLibraryProvider возвращает ошибку или не предоставляет допустимый дескриптор. |
| CORDBG_E_MISSING_DATA_TARGET_INTERFACE |
pDataTarget не реализует необходимые целевые интерфейсы данных для этой версии среды выполнения. |
| CORDBG_E_NOT_CLR | Указанный модуль не является модулем СРЕДЫ CLR. Этот HRESULT также возвращается, если модуль CLR не может быть обнаружен, так как память повреждена, модуль недоступен, или версия СРЕДЫ CLR позже версии схимы. |
| CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL | Эта версия среды выполнения не поддерживает эту модель отладки. В настоящее время модель отладки не поддерживается версиями СРЕДЫ CLR до .NET Framework 4. Выходной pwszVersion параметр по-прежнему имеет правильное значение после этой ошибки. |
| CORDBG_E_UNSUPPORTED_FORWARD_COMPAT | Версия среды CLR больше версии, поддерживаемой этим отладчиком. Выходной pwszVersion параметр по-прежнему имеет правильное значение после этой ошибки. |
| E_NO_INTERFACE | Интерфейс riidProcess недоступен. |
| CORDBG_E_UNSUPPORTED_VERSION_STRUCT | Структура CLR_DEBUGGING_VERSION не имеет распознаваемого значения для wStructVersion. Единственное принятое значение в настоящее время равно 0. |
Exceptions
Замечания
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorDebug.idl, CorDebug.h
Библиотека: CorGuids.lib
Версии .NET Framework: Доступно с 4
Версии .NET: Доступно с версии .NET Core 2.1