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.
Evaluator ekspresi (EE) memeriksa sintaks bahasa untuk mengurai dan mengevaluasi variabel dan ekspresi pada waktu proses, memungkinkannya dilihat oleh pengguna saat IDE berada dalam mode jeda.
Menggunakan pengevaluasi ekspresi
Ekspresi dibuat menggunakan metode ParseText , sebagai berikut:
Mesin debug (DE) mengimplementasikan antarmuka IDebugExpressionContext2 .
Paket debug mendapatkan
IDebugExpressionContext2objek dari antarmuka IDebugStackFrame2 dan kemudian memanggilIDebugStackFrame2::ParseTextmetode di atasnya untuk mendapatkan objek IDebugExpression2 .Paket debug memanggil metode EvaluateSync atau metode EvaluateAsync untuk mendapatkan nilai ekspresi.
IDebugExpression2::EvaluateAsyncdipanggil dari jendela Perintah/Segera. Semua komponen UI lainnya memanggilIDebugExpression2::EvaluateSync.Hasil evaluasi ekspresi adalah objek IDebugProperty2 , yang berisi nama, jenis, dan nilai hasil evaluasi ekspresi.
Selama evaluasi ekspresi, EE memerlukan informasi dari komponen penyedia simbol. Penyedia simbol menyediakan informasi simbolis yang digunakan untuk mengidentifikasi dan memahami ekspresi yang diurai.
Ketika evaluasi ekspresi asinkron selesai, peristiwa asinkron dikirim oleh DE melalui manajer debug sesi (SDM) untuk memberi tahu IDE bahwa evaluasi ekspresi selesai. Dan, hasil evaluasi kemudian dikembalikan dari pemanggilan metode
IDebugExpression2::EvaluateSync.
Catatan implementasi
Mesin debug Visual Studio berharap untuk berbicara dengan evaluator ekspresi menggunakan antarmuka Common Language Runtime (CLR). Akibatnya, evaluator ekspresi yang bekerja dengan mesin debug Visual Studio harus mendukung CLR (daftar lengkap semua antarmuka penelusuran kesalahan CLR dapat ditemukan di debugref.doc, yang merupakan bagian dari Windows Software Development Kit (SDK)).