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 mewakili ekspresi terurai yang siap untuk mengikat dan mengevaluasi.
Sintaks
IDebugExpression2 : IUnknown
Catatan untuk Pelaksana
Mesin debug (DE) mengimplementasikan antarmuka ini untuk mewakili ekspresi terurai yang siap dievaluasi.
Catatan untuk Penelepon
Panggilan ke ParseText mengembalikan antarmuka ini. GetExpressionContext mengembalikan antarmuka IDebugExpressionContext2 . Antarmuka ini hanya dapat diakses ketika program yang di-debug telah dijeda dan bingkai tumpukan tersedia.
Metode dalam Urutan Vtable
Tabel berikut memperlihatkan metode IDebugExpression2.
| Metode | Deskripsi |
|---|---|
| EvaluateAsync | Mengevaluasi ekspresi ini secara asinkron. |
| Membatalkan | Mengakhiri evaluasi ekspresi asinkron. |
| EvaluateSync | Mengevaluasi ekspresi ini secara sinkron. |
Keterangan
Ketika program berhenti, manajer debug sesi (SDM) mendapatkan bingkai tumpukan dari DE dengan panggilan ke EnumFrameInfo. SDM kemudian memanggil GetExpressionContext untuk mendapatkan antarmuka IDebugExpressionContext2 . Ini diikuti dengan panggilan ke ParseText untuk membuat IDebugExpression2 antarmuka, yang mewakili ekspresi yang diurai siap dievaluasi.
SDM memanggil EvaluateSync atau EvaluateAsync untuk benar-benar mengevaluasi ekspresi dan menghasilkan nilai.
Dalam implementasi IDebugExpressionContext2::ParseText, DE menggunakan fungsi COM CoCreateInstance untuk membuat instans evaluator ekspresi dan mendapatkan antarmuka IDebugExpressionEvaluator (lihat Contoh di IDebugExpressionEvaluator antarmuka). DE kemudian memanggil Parse untuk mendapatkan antarmuka IDebugParsedExpression . Antarmuka ini digunakan dalam implementasi IDebugExpression2::EvaluateSync dan IDebugExpression2::EvaluateAsync untuk melakukan evaluasi.
Persyaratan
Header: msdbg.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Rakitan: Microsoft.VisualStudio.Debugger.Interop.dll