Partager via


ICorDebug

Mise à jour : novembre 2007

Fournit des méthodes qui permettent aux développeurs de déboguer des applications dans l'environnement de Common Language Runtime.

Remarque :

Le débogage en mode mixte (code managé et code natif) n'est pas pris en charge sur les plateformes Windows 95, Windows 98 ou Windows ME, ou sur les plateformes autres que x86 (telles que IA64 et 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éthodes

Méthode

Description

ICorDebug::CanLaunchOrAttach, méthode

Détermine s'il est possible de lancer un nouveau processus ou de joindre au processus donné dans le contexte actuel de configuration de l'ordinateur et de l'exécution.

ICorDebug::CreateProcess, méthode

Lance un processus et son thread principal sous le contrôle du débogueur.

ICorDebug::DebugActiveProcess, méthode

Joint le débogueur à un processus existant.

ICorDebug::EnumerateProcesses, méthode

Obtient un énumérateur pour les processus en cours de débogage.

ICorDebug::GetProcess, méthode

Retourne l'objet ICorDebugProcess avec l'ID de processus donné.

ICorDebug::Initialize, méthode

Initialise l'objet ICorDebug.

ICorDebug::SetManagedHandler, méthode

Spécifie l'objet gestionnaire d'événements pour les événements managés.

ICorDebug::SetUnmanagedHandler, méthode

Spécifie l'objet gestionnaire d'événements pour les événements non managés.

ICorDebug::Terminate, méthode

Met fin à l'objet ICorDebug.

Notes

ICorDebug représente une boucle de traitement d'événements pour un processus de débogueur. Le débogueur doit attendre le rappel ICorDebugManagedCallback::ExitProcess de tous les processus débogués avant de libérer cette interface.

L'objet ICorDebug est l'objet initial pour contrôler tout débogage managé supplémentaire. Dans les versions 1.0 et 1.1 du .NET Framework, cet objet était un objet CoClass créé à partir de COM. Dans le .NET Framework version 2.0, cet objet n'est plus un objet CoClass. Il doit être créé par la fonction CreateDebuggingInterfaceFromVersion, prend plus en compte la version. Cette nouvelle fonction de création permet aux clients d'obtenir une implémentation spécifique de ICorDebug, qui émule également une version spécifique de l'API de débogage.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : CorDebug.idl

Bibliothèque : CorGuids.lib

Versions du .NET Framework : 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Voir aussi

Autres ressources

Interfaces de débogage