Bagikan melalui


Evaluasi ekspresi (Visual Studio Debugging SDK)

Selama mode jeda, IDE harus mengevaluasi ekspresi sederhana yang melibatkan beberapa variabel program. Untuk mencapai evaluasinya, mesin debug (DE) harus mengurai dan mengevaluasi ekspresi yang dimasukkan ke dalam salah satu jendela IDE.

Ekspresi dibuat dengan metode IDebugExpressionContext2::P arseText dan diwakili oleh antarmuka IDebugExpression2 yang dihasilkan.

Antarmuka IDebugExpression2 diimplementasikan oleh DE dan memanggil metode EvalAsync-nya untuk mengembalikan antarmuka IDebugProperty2 ke IDE, untuk menampilkan hasil evaluasi ekspresi di IDE. IDebugProperty2::GetPropertyInfo mengembalikan struktur yang digunakan untuk menempatkan nilai ekspresi ke dalam jendela Watch atau ke jendela Lokal .

Paket debug atau manajer debug sesi (SDM) memanggil IDebugExpression2::EvaluateAsync atau EvaluateSync untuk mendapatkan antarmuka IDebugProperty2 yang mewakili hasil evaluasi. IDebugProperty2 memiliki metode yang mengembalikan nama, jenis, dan nilai ekspresi. Informasi ini muncul di berbagai jendela debugger.

Menggunakan evaluasi ekspresi

Untuk menggunakan evaluasi ekspresi, Anda harus menerapkan metode IDebugExpressionContext2::P arseText dan semua metode antarmuka IDebugExpression2 , seperti yang ditunjukkan dalam tabel berikut.

Metode Description
EvaluateAsync Mengevaluasi ekspresi secara asinkron.
Batalkan Mengakhiri evaluasi ekspresi asinkron.
EvaluateSync Mengevaluasi ekspresi secara sinkron.

Evaluasi sinkron dan asinkron memerlukan penerapan metode IDebugProperty2::GetPropertyInfo . Evaluasi ekspresi asinkron memerlukan implementasi IDebugExpressionEvaluationCompleteEvent2.

Lihat juga