Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt Flags fest, die den Debugstatus dieses ICorDebugThread beschreiben.
Syntax
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
Die Parameter
state [in] Eine bitweise Kombination aus CorDebugThreadState-Enumerationswerten, die den Debugstatus dieses Threads angeben.
Bemerkungen
SetDebugState legt den aktuellen Debugstatus des Threads fest. (Der "aktuelle Debugstatus" stellt den Debugstatus dar, wenn der Prozess fortgesetzt werden soll, nicht der tatsächliche aktuelle Zustand.) Der Normalwert hierfür ist THREAD_RUN. Nur der Debugger kann sich auf den Debugzustand eines Threads auswirken. Debugzustände werden weiterhin ausgeführt. Wenn Sie also einen Thread THREAD_SUSPENDed über mehrere Fortsetzungen beibehalten möchten, können Sie ihn einmal festlegen und danach keine Sorge darüber haben. Das Anhalten von Threads und das Fortsetzen des Prozesses kann zu Deadlocks führen, ist jedoch in der Regel unwahrscheinlich. Dies ist eine systeminterne Qualität von Threads und Prozessen und ist designintern. Ein Debugger kann die Threads asynchron unterbrechen und fortsetzen, um den Deadlock zu unterbrechen. Wenn der Benutzerstatus des Threads USER_UNSAFE_POINT enthält, kann der Thread eine Garbage Collection (GC) blockieren. Dies bedeutet, dass der angehaltene Thread eine viel höhere Wahrscheinlichkeit hat, einen Deadlock zu verursachen. Dies wirkt sich möglicherweise nicht auf bereits in die Warteschlange eingereihte Debugereignisse aus. Daher sollte ein Debugger die gesamte Ereigniswarteschlange (durch Aufrufen von ICorDebugController::HasQueuedCallbacks) entladen, bevor Threads angehalten oder fortgesetzt werden. Andernfalls kann es Ereignisse in einem Thread erhalten, der der Ansicht ist, dass er bereits angehalten wurde.
Anforderungen
Plattformen: Siehe .NET unterstützte Betriebssysteme.
Kopfball: CorDebug.idl, CorDebug.h
Bibliothek: CorGuids.lib
.NET-Versionen: Verfügbar seit .NET Framework 1.0