ICorDebugThread::SetDebugState-metod
Anger flaggor som beskriver felsökningstillståndet för den här ICorDebugThread.
Syntax
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
Parametrar
state
[i] En bitvis kombination av CorDebugThreadState-uppräkningsvärden som anger felsökningstillståndet för den här tråden.
Kommentarer
SetDebugState
anger trådens aktuella felsökningstillstånd. (Det "aktuella felsökningstillståndet" representerar felsökningstillståndet om processen skulle fortsätta, inte det faktiska aktuella tillståndet.) Normalvärdet för detta är THREAD_RUN. Endast felsökningsprogrammet kan påverka felsökningstillståndet för en tråd. Felsökningstillstånden varar över fortsätter, så om du vill behålla en tråd THREAD_SUSPENDed över flera fortsätter, kan du ange den en gång och därefter inte behöva oroa dig för det. Att pausa trådar och återuppta processen kan orsaka dödlägen, även om det vanligtvis är osannolikt. Det här är en inbyggd kvalitet på trådar och processer och är avsiktligt. Ett felsökningsprogram kan asynkront bryta och återuppta trådarna för att bryta dödläget. Om trådens användartillstånd innehåller USER_UNSAFE_POINT kan tråden blockera en skräpinsamling (GC). Det innebär att den upphängda tråden har en mycket högre chans att orsaka ett dödläge. Detta påverkar kanske inte de felsökningshändelser som redan har placerats i kö. Ett felsökningsprogram bör därför tömma hela händelsekön (genom att anropa ICorDebugController::HasQueuedCallbacks) innan trådar pausas eller återupptas. Annars kan det få händelser på en tråd som den tror att den redan har pausats.
Krav
Plattformar: Se Systemkrav.
Rubrik: CorDebug.idl, CorDebug.h
Bibliotek: CorGuids.lib
.NET Framework-versioner: Finns sedan 1.0