Compartir a través de


ICLRDebugging::OpenVirtualProcess (Método)

Obtiene la interfaz ICorDebugProcess que corresponde a un módulo de Common Language Runtime (CLR) cargado en el proceso.

Syntax

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);

Parámetros

moduleBaseAddress [in] Dirección base de un módulo en el proceso de destino. COR_E_NOT_CLR se devuelve si el módulo especificado no es un módulo CLR.

pDataTarget [in] Abstracción de destino de datos que permite al depurador administrado inspeccionar el estado del proceso. El depurador debe implementar la interfaz ICorDebugDataTarget . Debe implementar la interfaz ICLRDebuggingLibraryProvider para admitir escenarios en los que clR que se está depurando no se instala localmente en el equipo.

pLibraryProvider [in] Interfaz de devolución de llamada del proveedor de biblioteca que permite ubicar y cargar bibliotecas de depuración específicas de la versión a petición. Este parámetro solo es necesario si ppProcess o pFlags no nulles .

pMaxDebuggerSupportedVersion [in] La versión más alta de CLR que este depurador puede depurar. Debe especificar las versiones principales, secundarias y de compilación de la versión más reciente de CLR que admite este depurador y establecer el número de revisión en 65535 para dar cabida a futuras versiones de mantenimiento clR en contexto.

riidProcess [in] Identificador de la interfaz ICorDebugProcess que se va a recuperar. Actualmente, los únicos valores aceptados son IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2y IID_CORDEBUGPROCESS.

ppProcess [out] Puntero a la interfaz COM identificada por riidProcess.

pVersion [dentro, fuera] Versión de CLR. En la entrada, este valor puede ser null. También puede apuntar a una estructura de CLR_DEBUGGING_VERSION , en cuyo caso el campo de la wStructVersion estructura debe inicializarse en 0 (cero).

En la salida, la estructura devuelta CLR_DEBUGGING_VERSION se rellenará con la información de versión de CLR.

pdwFlags [out] Marcas informativas sobre el tiempo de ejecución especificado. Para obtener una descripción de las marcas, consulte CLR_DEBUGGING_PROCESS_FLAGS.

Valor devuelto

Este método devuelve los siguientes HRESULT específicos, así como los errores HRESULT que indican el error del método.

HRESULT Description
S_OK El método se completó correctamente.
E_POINTER pDataTarget es null.
CORDBG_E_LIBRARY_PROVIDER_ERROR La devolución de llamada ICLRDebuggingLibraryProvider devuelve un error o no proporciona un identificador válido.
CORDBG_E_MISSING_DATA_TARGET_INTERFACE pDataTarget no implementa las interfaces de destino de datos necesarias para esta versión del tiempo de ejecución.
CORDBG_E_NOT_CLR El módulo indicado no es un módulo CLR. Este HRESULT también se devuelve cuando no se puede detectar un módulo CLR porque la memoria está dañada, el módulo no está disponible o la versión clR es posterior a la versión de correcciones de compatibilidad.
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL Esta versión en tiempo de ejecución no admite este modelo de depuración. Actualmente, las versiones clR no admiten el modelo de depuración antes de .NET Framework 4. El pwszVersion parámetro de salida todavía se establece en el valor correcto después de este error.
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT La versión de CLR es mayor que la versión que admite este depurador. El pwszVersion parámetro de salida todavía se establece en el valor correcto después de este error.
E_NO_INTERFACE La riidProcess interfaz no está disponible.
CORDBG_E_UNSUPPORTED_VERSION_STRUCT La CLR_DEBUGGING_VERSION estructura no tiene un valor reconocido para wStructVersion. El único valor aceptado en este momento es 0.

Excepciones

Observaciones

Requisitos

Plataformas: Consulte Requisitos del sistema.

Encabezado: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versiones de .NET Framework: Disponible desde 4

Versiones de .NET: Disponible desde .NET Core 2.1

Consulte también