Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Antarmuka ini memperluas IDebugStackFrame2 untuk menangani pengecualian yang disadap.
Sintaks
IDebugStackFrame3 : IDebugStackFrame2
Catatan untuk Pelaksana
Mesin debug (DE) mengimplementasikan antarmuka ini pada objek yang sama yang mengimplementasikan antarmuka IDebugStackFrame2 untuk mendukung pengecualian yang disadap.
Catatan untuk Penelepon
Panggil QueryInterface pada IDebugStackFrame2 antarmuka untuk mendapatkan antarmuka ini.
Metode dalam Urutan Vtable
Selain metode yang diwariskan dari IDebugStackFrame2, IDebugStackFrame3 mengekspos metode berikut.
| Metode | Deskripsi |
|---|---|
| InterceptCurrentException | Menangani pengecualian untuk bingkai tumpukan saat ini sebelum penanganan pengecualian reguler. |
| GetUnwindCodeContext | Mengembalikan konteks kode jika terjadi unwind tumpukan. |
Keterangan
Pengecualian yang disadap berarti bahwa debugger dapat memproses pengecualian sebelum rutinitas penanganan pengecualian normal dipanggil oleh run time. Mencegat pengecualian pada dasarnya berarti membuat run time berpura-pura bahwa ada handler pengecualian yang ada bahkan ketika tidak ada.
- InterceptCurrentException dipanggil selama semua peristiwa panggilan balik pengecualian normal (satu-satunya pengecualian untuk ini adalah jika Anda men-debug kode mode campuran (kode terkelola dan tidak dikelola), dalam hal ini pengecualian tidak dapat dicegat selama panggilan balik kesempatan terakhir). Jika DE tidak menerapkan
IDebugStackFrame3, atau DE mengembalikan kesalahan dari IDebugStackFrame3::InterceptCurrentException(sepertiE_NOTIMPL), maka debugger akan menangani pengecualian secara normal.
Dengan mencegat pengecualian, debugger dapat memungkinkan pengguna untuk membuat perubahan pada status program yang di-debug dan kemudian melanjutkan eksekusi pada titik di mana pengecualian dilemparkan.
Catatan
Pengecualian yang disadap hanya diperbolehkan dalam kode terkelola, yaitu, dalam program yang berjalan di bawah Common Language Runtime (CLR).
Mesin debug menunjukkan bahwa mesin ini mendukung penyadapan pengecualian dengan mengatur "metricExceptions" ke nilai 1 pada waktu proses dengan menggunakan SetMetric fungsi . Untuk informasi selengkapnya, lihat Pembantu SDK untuk Penelusuran Kesalahan.
Persyaratan
Header: msdbg.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Rakitan: Microsoft.VisualStudio.Debugger.Interop.dll