Freigeben über


ICorDebug

Aktualisiert: November 2007

Stellt Methoden bereit, die es Entwicklern ermöglichen, Anwendungen in der Umgebung der Common Language Runtime (CLR) zu debuggen.

Tipp

Debuggen im gemischten Modus (verwalteter und systemeigener Code) wird unter Windows 95, Windows 98 und Windows Me sowie auf Nicht-x86-Plattformen (z. B. IA64 und AMD64) nicht unterstützt.

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

Methoden

Methode

Beschreibung

ICorDebug::CanLaunchOrAttach-Methode

Bestimmt, ob innerhalb des Kontexts der aktuellen Computer- und Common Language Runtime-Konfiguration ein neuer Prozess gestartet wird oder eine Verbindung mit dem vorhandenen Prozess möglich ist.

ICorDebug::CreateProcess-Methode

Startet einen Prozess und den primären Thread, die vom Debugger gesteuert werden.

ICorDebug::DebugActiveProcess-Methode

Fügt den Debugger an einen vorhandenen Prozess an.

ICorDebug::EnumerateProcesses-Methode

Ruft einen Enumerator für die gedebuggten Prozesse ab.

ICorDebug::GetProcess-Methode

Gibt das ICorDebugProcess-Objekt mit der angegebenen Prozess-ID zurück.

ICorDebug::Initialize-Methode

Initialisiert das ICorDebug-Objekt.

ICorDebug::SetManagedHandler-Methode

Gibt das Ereignishandlerobjekt für verwaltete Ereignisse an.

ICorDebug::SetUnmanagedHandler-Methode

Gibt das Ereignishandlerobjekt für nicht verwaltete Ereignisse an.

ICorDebug::Terminate-Methode

Beendet das ICorDebug-Objekt.

Hinweise

ICorDebug stellt für einen Debuggerprozess eine Ereignisverarbeitungsschleife dar. Der Debugger muss auf den ICorDebugManagedCallback::ExitProcess-Rückruf von allen Prozessen, die gedebuggt werden, warten, bevor er diese Schnittstelle freigegeben kann.

Das ICorDebug-Objekt ist das ursprüngliche Objekt, mit dem das gesamte weitere Debuggen kontrolliert wird. In .NET Framework, Versionen 1.0 und 1.1, war dieses Objekt ein aus COM erstelltes CoClass-Objekt. In .NET Framework, Version 2.0, ist dieses Objekt kein CoClass-Objekt mehr. Es muss von der CreateDebuggingInterfaceFromVersion-Funktion erstellt werden, die versionsabhängiger ist. Diese neue Erstellungsfunktion gibt Clients die Möglichkeit, eine bestimmte Implementierung von ICorDebug zu erhalten, die auch eine bestimmte Version der Debug-API emuliert.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorDebug.idl

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Siehe auch

Weitere Ressourcen

Debugschnittstellen