Compartilhar via


Método de ICLRDebugging::OpenVirtualProcess

Obtém o ICorDebugProcess interface que corresponde a um módulo de runtime (CLR) de idioma comum carregados no processo.

    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] O endereço base de um módulo no processo de destino. COR_E_NOT_CLR será retornado se o módulo especificado não é um módulo CLR.

  • pDataTarget
    [in] Uma abstração de destino de dados que permite que o depurador gerenciado inspecionar o estado do processo. O depurador deve implementar a ICorDebugDataTarget interface. Você deve implementar a ICLRDebuggingLibraryProvider interface para oferecer suporte a cenários em que o CLR que está sendo depurado não está instalado localmente no computador.

  • pLibraryProvider
    [in] Uma interface de retorno de chamada de provedor de biblioteca que permite a bibliotecas de depuração específicas da versão a ser localizada e carregada na demanda de. Este parâmetro é necessário apenas se ppProcess ou pFlags não é null.

  • pMaxDebuggerSupportedVersion
    [in] A versão mais recente do CLR que esse depurador pode a depuração. Você deve especificar major, minor e criar versões da versão mais recente do CLR que esse depurador suporta e definir o número de revisão a 65535 para acomodar futura CLR de in-loco, a manutenção de versões.

  • riidProcess
    [in] A identificação da ICorDebugProcess interface para recuperar. Atualmente, os únicos valores aceitos são IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2 e IID_CORDEBUGPROCESS.

  • ppProcess
    [out] Um ponteiro para a interface COM que é identificado por riidProcess.

  • pVersion
    [in, out] A versão do CLR. Na entrada, esse valor pode ser null. Ele também pode apontar para um CLR_DEBUGGING_VERSION estrutura, caso em que a estrutura wStructVersion campo deve ser inicializado para zero (0).

    Na saída, retornada CLR_DEBUGGING_VERSION estrutura será preenchida com as informações de versão do CLR.

  • pdwFlags
    [out] Sinalizadores informativos sobre o tempo de execução especificado. Consulte o CLR_DEBUGGING_PROCESS_FLAGS tópico para obter uma descrição dos sinalizadores.

Valor de retorno

Esse método retorna o seguintes HRESULTs específicos, bem como o HRESULT erros que indicam falha de método.

HRESULT

Descrição

S_OK

O método foi concluído com êxito.

E_POINTER

pDataTarget é null.

CORDBG_E_LIBRARY_PROVIDER_ERROR

O ICLRDebuggingLibraryProvider retorna um erro de retorno de chamada ou não fornecer um identificador válido.

CORDBG_E_MISSING_DATA_TARGET_INTERFACE

pDataTargetnão implementa as interfaces de destino de dados necessários para esta versão do runtime.

CORDBG_E_NOT_CLR

O módulo indicado não é um módulo CLR. Esse HRESULT também é retornado quando um módulo CLR não pode ser detectado porque a memória foi corrompida, o módulo não está disponível ou a versão do CLR é posterior à versão de correção.

CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL

Esta versão do runtime não oferece suporte a esse modelo de depuração. Atualmente, o modelo de depuração não é suportado pelas versões do CLR antes de .NET Framework versão 4. O pwszVersion o parâmetro de saída ainda é definido como o valor correto após este erro.

CORDBG_E_UNSUPPORTED_FORWARD_COMPAT

A versão do CLR é maior do que a versão que alega oferecer suporte a esse depurador. O pwszVersion o parâmetro de saída ainda é definido como o valor correto após este erro.

E_NO_INTERFACE

O riidProcess interface não está disponível.

CORDBG_E_UNSUPPORTED_VERSION_STRUCT

O CLR_DEBUGGING_VERSION estrutura não tem um valor reconhecido para wStructVersion. O único valor aceito no momento é 0.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

.NET Framework versões: 4

Consulte também

Outros recursos

Interfaces de depuração.

Depuração (referência de API não gerenciada)