Bagikan melalui


IDebugExpression2

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

Baca juga