Aracılığıyla paylaş


IDebugStackFrame3::InterceptCurrentException

Geçerli özel durumu kesmek istediğinde, geçerli yığın çerçevesinde hata ayıklayıcı tarafından çağrılır.

Sözdizimi

int InterceptCurrentException(
   uint dwFlags,
   out  ulong pqwCookie
);

Parametreler

dwFlags
[in] Farklı eylemleri belirtir. Şu anda yalnızca INTERCEPT_EXCEPTION_ACTION değeri IEA_INTERCEPT desteklenir ve belirtilmelidir.

pqwCookie
[out] Belirli bir özel durumu tanımlayan benzersiz değer.

İade Değeri

Başarılı olursa, S_OK döndürür; aksi takdirde bir hata kodu döndürür.

En yaygın hata dönüşleri aşağıdadır.

Hata Açıklama
E_EXCEPTION_CANNOT_BE_INTERCEPTED Geçerli özel durum kesilemez.
E_EXCEPTION_CANNOT_UNWIND_ABOVE_CALLBACK Geçerli yürütme çerçevesi henüz bir işleyici için aranmadı.
E_INTERCEPT_CURRENT_EXCEPTION_NOT_SUPPORTED Bu yöntem bu çerçeve için desteklenmiyor.

Açıklamalar

Özel durum oluşturulduğunda, hata ayıklayıcı özel durum işleme işlemi sırasında önemli noktalarda çalışma zamanından denetim elde eder. Bu önemli anlarda hata ayıklayıcı geçerli yığın çerçevesine çerçevenin özel duruma müdahale etmek isteyip istemediğini sorabilir. Bu şekilde, bir yığın çerçevesi özel durum işleyicisi (örneğin, program kodunda try/catch bloğu) olmasa bile, kesişen bir özel durum temelde bir yığın çerçevesi için anında özel durum işleyicisi olur.

Hata ayıklayıcısı özel durumun kesilmesi gerekip gerekmediğini öğrenmek istediğinde, geçerli yığın çerçevesi nesnesinde bu yöntemi çağırır. Bu yöntem, özel durumun tüm ayrıntılarını işlemekle sorumludur. IDebugStackFrame3 arabirimi uygulanmadıysa veya InterceptStackException yöntem herhangi bir hata döndürüyorsa, hata ayıklayıcı özel durumu normal şekilde işlemeye devam eder.

Dekont

Özel durumlar yalnızca yönetilen kodda, yani hata ayıklanan program .NET çalışma süresi altında çalışırken kesilebilir. Tabii ki, üçüncü taraf dil uygulayıcıları tercih ederlerse kendi hata ayıklama altyapılarında uygulayabilirler InterceptStackException .

Kesme işlemi tamamlandıktan sonra bir IDebugInterceptExceptionCompleteEvent2 sinyali görüntülenir.

Ayrıca bkz.