Aracılığıyla paylaş


İfadeleri değerlendirme

İfadeler Autos, Watch, QuickWatch veya Immediate pencerelerinden aktarılan dizelerden oluşturulur. bir ifade değerlendirildiğinde, değişkenin veya bağımsız değişkenin adını ve türünü ve değerini içeren yazdırılabilir bir dize oluşturur. Bu dize ilgili IDE penceresinde görüntülenir.

Implementation

Bir program kesme noktasında durduğunda ifadeler değerlendirilir. İfadenin kendisi, verilen ifade değerlendirme bağlamında bağlama ve değerlendirme için hazır olan ayrıştırılmış bir ifadeyi temsil eden bir IDebugExpression2 arabirimiyle temsil edilir. Yığın çerçevesi, hata ayıklama altyapısının (DE) IDebugExpressionContext2 arabirimini uygulayarak sağladığı ifade değerlendirme bağlamını belirler.

Bir kullanıcı dizesi ve bir IDebugExpressionContext2 arabirimi göz önüne alındığında, hata ayıklama altyapısı (DE), kullanıcı dizesini IDebugExpressionContext2::P arseText yöntemine geçirerek bir IDebugExpression2 arabirimi alabilir. Döndürülen IDebugExpression2 arabirimi, değerlendirme için hazır ayrıştırılmış ifadeyi içerir.

IDebugExpression2 Arabirimi ile DE bileşeni, IDebugExpression2::EvaluateSync veya IDebugExpression2::EvaluateAsync yöntemlerini kullanarak, senkron veya asenkron ifade değerlendirmesi ile ifadenin değerini alabilir. Bu değer, değişkenin veya bağımsız değişkenin adı ve türüyle birlikte, görüntülenmek üzere IDE'ye gönderilir. Değer, ad ve tür bir IDebugProperty2 arabirimiyle temsil edilir.

İfade değerlendirmesini etkinleştirmek için de IDebugExpression2 ve IDebugExpressionContext2 arabirimlerini uygulamalıdır. Hem zaman uyumlu hem de zaman uyumsuz değerlendirme için IDebugProperty2::GetPropertyInfo yönteminin uygulanması gerekir.