Compartir a través de


ICorDebug

Actualización: noviembre 2007

Proporciona métodos que permiten a los desarrolladores depurar aplicaciones en el entorno de Common Language Runtime (CLR).

Nota

No se admite la depuración en modo mixto (código administrado y nativo) en Windows 95, Windows 98 o Windows ME, ni en plataformas que no sean x86 (como IA64 y AMD64).

interface ICorDebug : IUnknown {
        
    HRESULT CanLaunchOrAttach (
        [in] DWORD                         dwProcessId,
        [in] BOOL                          win32DebuggingEnabled
    );
        
    HRESULT CreateProcess (
        [in] LPCWSTR                       lpApplicationName,
        [in] LPWSTR                        lpCommandLine,
        [in] LPSECURITY_ATTRIBUTES         lpProcessAttributes,
        [in] LPSECURITY_ATTRIBUTES         lpThreadAttributes,
        [in] BOOL                          bInheritHandles,
        [in] DWORD                         dwCreationFlags,
        [in] PVOID                         lpEnvironment,
        [in] LPCWSTR                       lpCurrentDirectory,
        [in] LPSTARTUPINFOW                lpStartupInfo,
        [in] LPPROCESS_INFORMATION         pProcessInformation,
        [in] CorDebugCreateProcessFlags    debuggingFlags,
        [out] ICorDebugProcess             **ppProcess
    );
        
    HRESULT DebugActiveProcess (
        [in] DWORD                         id,
        [in] BOOL                          win32Attach,
        [out] ICorDebugProcess             **ppProcess
    );
        
    HRESULT EnumerateProcesses (
        [out] ICorDebugProcessEnum         **ppProcess
    );
        
    HRESULT GetProcess (
                [in] DWORD dwProcessId,
        [out] ICorDebugProcess **ppProcess);

    HRESULT Initialize();
        
    HRESULT SetManagedHandler (
        [in] ICorDebugManagedCallback      *pCallback
    );
        
    HRESULT SetUnmanagedHandler (
        [in] ICorDebugUnmanagedCallback    *pCallback
    );
        
    HRESULT Terminate ();
        
};

Métodos

Método

Descripción

ICorDebug::CanLaunchOrAttach (Método)

Determina si es posible iniciar un nuevo proceso o asociarse al proceso especificado dentro del contexto del equipo y la configuración del motor en tiempo de ejecución actual.

ICorDebug::CreateProcess (Método)

Inicia un proceso y su subproceso principal bajo el control del depurador.

ICorDebug::DebugActiveProcess (Método)

Asocia el depurador a un proceso existente.

ICorDebug::EnumerateProcesses (Método)

Obtiene un enumerador para los procesos que se están depurando.

ICorDebug::GetProcess (Método)

Devuelve el objeto ICorDebugProcess con el identificador de proceso indicado.

ICorDebug::Initialize (Método)

Inicializa el objeto ICorDebug.

ICorDebug::SetManagedHandler (Método)

Especifica el objeto de controlador de eventos para los eventos administrados.

ICorDebug::SetUnmanagedHandler (Método)

Especifica el objeto de controlador de eventos para los eventos no administrados.

ICorDebug::Terminate (Método)

Finaliza el objeto ICorDebug.

Comentarios

ICorDebug representa un bucle de procesamiento de eventos para un proceso de depuración. El depurador debe esperar la devolución de llamada de ICorDebugManagedCallback::ExitProcess de todos los procesos que se están depurando antes de liberar esta interfaz.

ICorDebug es el objeto inicial que controla toda la depuración administrada posterior. En las versiones 1.0 y 1.1 de .NET Framework, era un objeto CoClass creado a partir de COM. En la versión 2.0 de .NET Framework, este objeto ya no es un objeto CoClass. Debe crearlo la función CreateDebuggingInterfaceFromVersion, que tiene más en cuenta las versiones. Esta nueva función de creación permite a los clientes obtener una implementación específica de ICorDebug, que también emula una versión concreta de la API de depuración.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: CorDebug.idl

Biblioteca: CorGuids.lib

.NET Framework, versiones: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vea también

Otros recursos

Interfaces para depuración