Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Задает флаги, описывающие состояние отладки этого объекта ICorDebugThread.
Синтаксис
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
Параметры
state [in] Побитовое сочетание значений перечисления CorDebugThreadState, указывающее состояние отладки этого потока.
Замечания
SetDebugState задает текущее состояние отладки потока. (Текущее состояние отладки представляет состояние отладки, если процесс должен был продолжаться, а не фактическое текущее состояние.) Обычное значение для этого — THREAD_RUN. Только отладчик может повлиять на состояние отладки потока. Состояния отладки выполняются в течение последнего времени, поэтому если вы хотите сохранить поток THREAD_SUSPENDed по нескольким продолжениям, вы можете установить его один раз и после этого не беспокоиться об этом. Приостановка потоков и возобновление процесса может привести к взаимоблокировкам, хотя это обычно маловероятно. Это внутреннее качество потоков и процессов и является путем разработки. Отладчик может асинхронно прерывать и возобновлять потоки, чтобы разорвать взаимоблокировку. Если пользовательское состояние потока включает USER_UNSAFE_POINT, поток может заблокировать сборку мусора (GC). Это означает, что приостановленный поток имеет гораздо более высокую вероятность возникновения взаимоблокировки. Это может не повлиять на события отладки, уже в очереди. Таким образом отладчик должен очистить всю очередь событий (вызвав ICorDebugController::HasQueuedCallbacks) перед приостановкой или возобновлением потоков. Кроме того, он может получить события в потоке, который он считает, что он уже приостановлен.
Требования
Платформ: См. сведения о поддерживаемых операционных системах .NET.
Заголовок: CorDebug.idl, CorDebug.h
Библиотека: CorGuids.lib
Версии .NET: Доступно с .NET Framework 1.0