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 |
---|---|
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. |
|
Startet einen Prozess und den primären Thread, die vom Debugger gesteuert werden. |
|
Fügt den Debugger an einen vorhandenen Prozess an. |
|
Ruft einen Enumerator für die gedebuggten Prozesse ab. |
|
Gibt das ICorDebugProcess-Objekt mit der angegebenen Prozess-ID zurück. |
|
Initialisiert das ICorDebug-Objekt. |
|
Gibt das Ereignishandlerobjekt für verwaltete Ereignisse an. |
|
Gibt das Ereignishandlerobjekt für nicht verwaltete Ereignisse an. |
|
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