Compartir a través de


ICLRDebugging::OpenVirtualProcess (Método)

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

    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. Se devolverá COR_E_NOT_CLR si el módulo especificado no es un módulo de 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 donde el CLR que se está depurando no está instalado localmente en el equipo.

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

  • pMaxDebuggerSupportedVersion
    [in] Versión superior del CLR que este depurador puede depurar. Debe especificar las versiones principal, secundaria y de compilación a partir de la versión más reciente del CLR que este depurador admite, y establecer el número de revisión en 65535 para admitir futuras versiones de servicio de CLR en contexto.

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

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

  • pVersion
    [in, out] Versión del CLR. En la salida, este valor puede ser null. También puede señalar a una estructura CLR_DEBUGGING_VERSION, en cuyo caso el campo wStructVersion de la estructura se debe inicializar a 0 (cero).

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

  • pdwFlags
    [out] Marcas informativas sobre el runtime especificado. Vea el tema CLR_DEBUGGING_PROCESS_FLAGS para obtener una descripción de las marcas.

Valor devuelto

Este método devuelve los siguientes HRESULT específicos, así como errores HRESULT que indican la existencia de un error en el método.

HRESULT

Descripción

S_OK

El método se ha ejecutado correctamente.

E_POINTER

El valor de 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 runtime.

CORDBG_E_NOT_CLR

El módulo indicado no es un módulo CLR. También se devuelve este HRESULT cuando no se puede detectar un módulo CLR porque se ha dañado la memoria, el módulo no está disponible o la versión de CLR es posterior a la versión del código.

CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL

Esta versión del runtime no admite este modelo de depuración. Actualmente, las versiones de CLR anteriores a .NET Framework versión 4 no admiten el modelo de depuración. El parámetro de salida pwszVersion todavía está establecido en el valor correcto después de producirse este error.

CORDBG_E_UNSUPPORTED_FORWARD_COMPAT

La versión del CLR es mayor que la versión que este depurador dice admitir. El parámetro de salida pwszVersion todavía está establecido en el valor correcto después de producirse este error.

E_NO_INTERFACE

La interfaz riidProcess no está disponible.

CORDBG_E_UNSUPPORTED_VERSION_STRUCT

La estructura CLR_DEBUGGING_VERSION no tiene un valor reconocido para wStructVersion. El único valor aceptado en este momento es 0.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versiones de .NET Framework: 4

Vea también

Otros recursos

Interfaces para depuración

Depuración (Referencia de la API no administrada)