Aracılığıyla paylaş


ICorDebugThread::SetDebugState Yöntemi

Bu ICorDebugThread hata ayıklama durumunu açıklayan bayrakları ayarlar.

Sözdizimi

HRESULT SetDebugState (
    [in] CorDebugThreadState state
);

Parametreler

state [in] Bu iş parçacığının hata ayıklama durumunu belirten CorDebugThreadState numaralandırma değerlerinin bit düzeyinde birleşimi.

Açıklamalar

SetDebugState iş parçacığının geçerli hata ayıklama durumunu ayarlar. ("Geçerli hata ayıklama durumu", gerçek geçerli durumu değil, işlemin devam etmesi gerekiyorsa hata ayıklama durumunu temsil eder.) Bunun normal değeri THREAD_RUN. Bir iş parçacığının hata ayıklama durumunu yalnızca hata ayıklayıcı etkileyebilir. Hata ayıklama durumları sürekli devam eder, bu nedenle bir iş parçacığını birden çok devam THREAD_SUSPENDed tutmak istiyorsanız, bunu bir kez ayarlayabilir ve bundan sonra bu konuda endişelenmeniz gerekmez. İş parçacıklarının askıya alınması ve işlemin devam ettirilmesi kilitlenmelere neden olabilir ancak bu genellikle olası değildir. Bu, iş parçacıklarının ve işlemlerin iç kalitesidir ve tasarım gereğidir. Hata ayıklayıcı, kilitlenmeyi kesmek için iş parçacıklarını zaman uyumsuz olarak kesebilir ve sürdürebilir. İş parçacığının kullanıcı durumu USER_UNSAFE_POINT içeriyorsa, iş parçacığı bir çöp toplamayı (GC) engelleyebilir. Bu, askıya alınan iş parçacığının kilitlenmeye neden olma olasılığının çok daha yüksek olduğu anlamına gelir. Bu, zaten kuyruğa alınmış hata ayıklama olaylarını etkilemeyebilir. Bu nedenle, iş parçacıklarını askıya almadan veya devam ettirmeden önce hata ayıklayıcının tüm olay kuyruğunu boşaltması gerekir ( ICorDebugController::HasQueuedCallbacks çağrısı yaparak). Aksi halde, zaten askıya aldığını düşündüğü bir iş parçacığında olaylar alabilir.

Gereksinimler

Platform: Bkz. .NET tarafından desteklenen işletim sistemleri.

Üstbilgi: CorDebug.idl, CorDebug.h

Kütüphane: CorGuids.lib

.NET sürümleri: .NET Framework 1.0'dan itibaren kullanılabilir