C++ yönetilen ifadeler
Yönetilen ifade değerlendirici çoğu ifadeler yazılmış kabul Visual C++.Aşağıdaki konularda, belirli bilgi sunan ve bazı desteklenmeyen ifade türleri açıklanmıştır:
Tanımlayıcılar ve türleri
İşlev değerlendirmesi
İşleçler
Yüklenmiş İşleçler
Dizeleri
Yayınları
Nesne karşılaştırma ve atama
typeof ve sizeof işleçleri
Kutulama
Özellik değerlendirme
Erişim niteleyiciler, ifade değerlendirici yoksayar public, protected, internal, ve private.Arayabileceğiniz bir private yönteminin İzle penceresinde, örneğin.
Yürütülen kod güvenli veya güvenli olup olmadığını ifade değerlendirici örtülü güvensiz bir bağlamda, tüm değerlendirmeleri gerçekleştirir.
Hata ayıklayıcı autoexpand kuralları anlamlı biçimde veri türü içeriğini görüntülemek için kullanır.Gerekirse, kendi özel veri türlerini görüntülemek için özel autoexpand öğeler ekleyebilirsiniz.Daha fazla bilgi için bkz: Özel veri türü öğelerini görüntüleme.
Tanımlayıcılar ve türleri
Hata ayıklayıcı ifadeleri, geçerli kapsam içinde görünen herhangi bir tanımlayıcı kullanabilirsiniz.Hata ayıklayıcı, işlev durdu, magh, örneğin, içinde görünen herhangi bir tanımlayıcıyı kullanabilirsiniz magh, sabit, değişken adları ve işlev adları.
Hata ayıklayıcıyı doğru herhangi bir değişkeni görüntülemek bir primitive, enum, veya intrinsic türü.Değişkenler için class türü, hata ayıklayıcıyı doğru türetilmiş çoğu türüne göre değeri görüntüler.Bir nesne varsa, leo türü lion, türünden türetilmiş cat, değerlendirilmesi için leo.clawlength ve doğru değer türünde bir nesne lion.
L değeri kullanılanla olan herhangi bir sol hand yan deyimi yeni bir değer atayabilirsiniz.Atamalar için sınıf ve dizi türleri desteklenmez.
İşlev değerlendirmesi
Hata ayıklayıcı, işlevlerin aşırı yüklü işlevleri de dahil olmak üzere değerlendirme destekler.Bu nedenle, aşağıdaki ifadeler girebilirsiniz ve hata ayıklayıcı işlevde doğru sürümünü çağırır:
kanga ()
kanga (roo)
Hata Ayıklayıcı'daki bir işlev değerlendirme gerçekten çağırır ve bu işlev kodu yürütür.İşlevin bellek ayırma veya genel bir değişkenin değerini değiştirme gibi yan etkileri varsa değerlendirme işlevi bir hata ayıklama penceresinde beklenmeyen sonuçlara yol açabilir programınızın durumunu değiştirin.
Kesme noktası bir işlevde ayarladığınızda, kesme konumunu işlevi belirtin nasıl bağlıdır.İşlev adı belirtirseniz, hata ayıklayıcı işlev adının her aşırı bir kesme noktası ayarlayın.Tam imza, işlev adı ve tam bağımsız değişken listesi belirlerseniz, hata ayıklayıcı üzerinde belirtilen aşırı bir kesme noktası ayarlar.
İşleçler
Hata ayıklayıcı dahil en yerleşik operatörler doğru değerlendirir:
Operatörler: (Deyim1 >expr2, Deyim1 < expr2, expr1 <= expr2, expr1 => expr2, expr1 == expr2, expr1 != expr2).
Boole işleçleri: (Deyim1 & & expr2, expr1 || expr2).
Koşul operatörü: (Deyim1 ?expr2 : expr3) .
Aritmetik işleçler: ( Deyim1 + expr2, Deyim1 - expr2,expr1 * expr2, expr1 / expr2, expr1 % expr2).
Bitsel işleçler: (Deyim1 & expr2, expr1 ^ expr2, expr1 | expr2, expr1 ~ expr2).
Kaydırma işleçleri.Örnekler: (Deyim1 >>expr2, Deyim1 <<expr2, Deyim1 >>> Deyim2).
Assignment operators: ( lvalue = expr2, lvalue *= expr2, lvalue /= expr2, lvalue %= expr2, lvalue += expr2, lvalue -= expr2, lvalue <<= expr2, lvalue >>=expr2, lvalue &= expr2, lvalue ^= expr2, lvalue |= expr2 ).
Tekli operatörler.Examples: ( +expr1, - expr1, expr1++, ++expr1, expr1--, --expr1 ).
İfadeler dizisini girmek için virgül operatörünü kullanabilirsiniz: Deyim1, ifade2,expr3.
Yüklenmiş İşleçler
Hata ayıklayıcıda en aþýrý yüklenmiþ Ýþleçler çalışır.
Aşırı iç işleçleri +, -, /, ve & İş:
Deyim1 + Deyim2
Deyim1Deyim2
Deyim1 / Deyim2
Deyim1 % Deyim2
Deyim1 & Deyim2
Aşırı iç işleçleri = & & &, ||, |, ve ^ çalışmaz:
Deyim1 = Deyim2
Deyim1 & & Deyim2
Deyim1 & Deyim2
Deyim1 || Deyim2
Deyim1 | Deyim2
Deyim1 ^ Deyim2
Operatörler aşırı ==,! =, >, <>, =, ve < = C++ için çalışmaz:
Deyim1 == Deyim2
Deyim1 ! = Deyim2
Deyim1 > Deyim2
Deyim1 < Deyim2
Deyim1 > = Deyim2
Deyim1 < = Deyim2
Aşırı iç operatörleri |, ^, <>,, >, <>, =, ve < = çalışmaz:
Deyim1 | Deyim2
Deyim1 ^ Deyim2
Deyim1 << Deyim2
Deyim1 >> Deyim2
Deyim1 > Deyim2
Deyim1 < Deyim2
Deyim1 > = Deyim2
Deyim1 < = Deyim2
Önek operatörleri aşırı +, -, ++,--,!, ve ~ çalışır:
+Deyim1
-Deyim1
++expr1
--expr1
!Deyim1
~Deyim1
Sonek operatörleri aşırı ++ ve--çalışabilirsiniz:
Deyim1++
Deyim1--
Aşırı operator [] çalışır:
- xexpr2
Çok boyutlu diziler
C# C++ ifade değerlendirici kullanır-stil çok boyutlu diziler için sözdizimi.Örne?in:
c[0,0]
Normal C++ sözdizimini kullanarak bir hata oluşturur:
c[0][0]Hata: dizin sınır dışında ' 0' için işaretçiyi/dizi 'c'
Dizeleri
Dizilerin yanı sıra, dizeleri ile kullanıldığında hata ayıklayıcı dizinlenmiş işleci tanır.Bu nedenle, örneğin, girebilirsiniz:
"hello world"[0]
İzle pencere doğru değeri görüntüler:
'h'
Yayınları
Basit atama ifadeleri hata ayıklayıcıda çalışır:
(A)x
Hata ayıklayıcıda işaretçiler içeren yayınları çalışmaz:
Kullanıcı tanımlı yayınları için hata ayıklayıcı çalışmıyor Visual C++.
Nesne karşılaştırma ve atama
Nesne karşılaştırma ve hata ayıklayıcı atama çalışmıyor için Visual C++.
typeof ve sizeof işleçleri
Hata ayıklayıcı, typeof ve sizeof operatörü eşdeğer dönüştürme destekler.net Framework işlevi.
typeof ( ifade)
içine dönüştürülür:
System.Type.GetType(expression )
Hata ayıklayıcı, sonra bu dönüştürülmüş deyimi değerlendirir.
Hata ayıklayıcı desteklemediği sizeof işleci.
Ayrýntýlý ve kutulamayý kaldýrmayý
Hata ayıklayıcı ifade değerlendirici ayrýntýlý ve kutulamayý kaldýrmayý de desteklemez Visual C++.Daha fazla bilgi için bkz: kutulama ve Unboxing.Bir tamsayı değişken varsa, i , dönüştürülmemiş kutulama aracılığıyla bir nesne içinde hata ayıklayıcı değerlendirir i bir nesne olarak değil, bir tamsayı olarak.Beklediğiniz sonuçları olmayabilir.
Özellik değerlendirme
Özellikler penceresinde değişken hata ayıklayıcı değerlendirir.Ancak, hata ayıklayıcı özelliğinde değerlendirirken, beklenmedik ve istenmeyen sonuçlar yan etkileri olabilir.Tarafından yanlışlıkla değerlendirme neden yan etkilere karşı korumak için Özellik değerlendirmeyi de devre dışı bırakabilirsiniz seçenekleri iletişim kutusu.
Donmaları
Windows hata ayıklayıcıdan donmaları çağrılamıyor.