İfade değerlendirici
İfade değerlendiricileri (EE), çalışma zamanında değişkenleri ve ifadeleri ayrıştırmak ve değerlendirmek için bir dilin söz dizimini inceleyerek, IDE kesme modundayken kullanıcı tarafından görüntülenmesini sağlar.
İfade değerlendiricilerini kullanma
İfadeler Aşağıdaki gibi ParseText yöntemi kullanılarak oluşturulur:
Hata ayıklama altyapısı (DE), IDebugExpressionContext2 arabirimini uygular.
Hata ayıklama paketi bir IDebugStackFrame2 arabiriminden bir
IDebugExpressionContext2
nesne alır ve ardından bir IDebugExpression2 nesnesi almak için üzerindeki yöntemini çağırırIDebugStackFrame2::ParseText
.Hata ayıklama paketi, ifadenin değerini almak için EvaluateSync yöntemini veya EvaluateAsync yöntemini çağırır.
IDebugExpression2::EvaluateAsync
Komut/Anlık penceresinden çağrılır. Diğer tüm kullanıcı arabirimi bileşenleri çağrısındaIDebugExpression2::EvaluateSync
bulunur.İfade değerlendirmesinin sonucu, ifade değerlendirmesi sonucunun adını, türünü ve değerini içeren bir IDebugProperty2 nesnesidir.
İfade değerlendirmesi sırasında EE, sembol sağlayıcısı bileşeninden bilgi gerektirir. Sembol sağlayıcısı, ayrıştırılan ifadeyi tanımlamak ve anlamak için kullanılan sembolik bilgileri sağlar.
Zaman uyumsuz ifade değerlendirmesi tamamlandığında, IDE'ye ifade değerlendirmesinin tamamlandığını bildirmek için oturum hata ayıklama yöneticisi (SDM) aracılığıyla DE tarafından zaman uyumsuz bir olay gönderilir. Ardından değerlendirmenin sonucu yöntemine
IDebugExpression2::EvaluateSync
yapılan çağrıdan döndürülür.
Uygulama notları
Visual Studio hata ayıklama altyapıları, Ortak Dil Çalışma Zamanı (CLR) arabirimlerini kullanarak ifade değerlendiricisiyle konuşmayı bekler. Sonuç olarak, Visual Studio hata ayıklama altyapılarıyla çalışan bir ifade değerlendiricisi CLR'yi desteklemelidir (tüm CLR hata ayıklama arabirimlerinin tam listesi, Windows Yazılım Geliştirme Seti'nin (SDK) parçası olan debugref.doc bulunabilir).