Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Saat, Otomatikler ve Yereller pencerelerinde biçim tanımlayıcılarını kullanarak bir değerin görüntülendiği biçimi değiştirebilirsiniz.
Biçim tanımlayıcılarını Anında penceresinde, Komut penceresinde, izleme noktalarında ve hatta kaynak pencerelerde de kullanabilirsiniz. Bu pencerelerdeki bir ifadede durakladığınızda, sonuç bir Veri İpucu olarak görünür. DataTip ekranı biçim tanımlayıcısını yansıtır.
Uyarı
Visual Studio yerel hata ayıklayıcısı yeni bir hata ayıklama altyapısına değiştiğinde, bazı yeni biçim tanımlayıcıları eklendi ve bazı eskileri kaldırıldı. C++/CLI ile yerel ve yönetilen bileşenlerin birlikte çalışabilirliği üzerine hata ayıklaması yaptığınızda eski hata ayıklayıcı hala kullanılmaktadır.
Biçim tanımlayıcılarını ayarlama
Aşağıdaki örnek kodu kullanacağız:
int main() {
int my_var1 = 0x0065;
int my_var2 = 0x0066;
int my_var3 = 0x0067;
}
my_var1 Değişkeni hata ayıklarken Watch penceresine ekleyin, Debug>Windows>Watch>Watch 1. Ardından değişkene sağ tıklayın ve Onaltılık Görüntü seçin. Şimdi gözcü penceresinde 0x0065 değeri gösterilir. Bu değerin tamsayı yerine karakter olarak ifade edilmiş olduğunu görmek için, önce sağ tıklayın ve Onaltılık Ekran'ın seçimini kaldırın. Ardından, değişken adından sonra Ad sütununa , c karakter biçimi belirticisini ekleyin.
Değer sütunu artık 101 'e' gösteriyor.
İzleme penceresindeki değere virgül (,) ekleyerek kullanılabilir biçim tanımlayıcıları listesini görüntüleyebilir ve seçebilirsiniz.
Biçim tanımlayıcıları
Aşağıdaki tablolarda, Visual Studio'da kullanabileceğiniz biçim tanımlayıcıları açıklanmaktadır. Kalın yazılmış belirleyiciler yalnızca yeni hata ayıklayıcı için desteklenir ve C++/CLI ile birlikte çalışma hata ayıklaması için desteklenmez.
| Tanımlayıcı | Biçim | Özgün saat değeri | Görüntülenen Değer |
|---|---|---|---|
| d | onluk tamsayı | 0x00000066 | 102 |
| o | işaretsiz sekizlik sayı | 0x00000066 | 000000000146 |
| x h |
onaltılık tamsayı | 102 | 0xcccccccc |
| X H |
onaltılık tamsayı | 102 | 0xCCCCCCCC |
| Xb Hb |
onaltılık tamsayı (başta 0x olmadan) | 102 | cccccccc |
| Xb Hb |
onaltılık tamsayı (başta 0x olmadan) | 102 | CCCCCCCC |
| b | imzasız ikili tamsayı | Yirmi beş | 0b00000000000000000000000000011001 |
| Bb | işaretsiz ikili tamsayı (başında 0b olmadan) | Yirmi beş | 00000000000000000000000000011001 |
| e | bilimsel gösterim | 25000000 | 2,500000e+07 |
| g | bilimsel veya kayan noktanın kısası | 25000000 | 2,5e+07 |
| c | tek karakter | 0x0065 | 101 'e' |
| s | const char* dizesi (tırnak işaretleri ile) | <konum> "hello world" | "merhaba dünya" |
| Sb | const char* dizesi (tırnak işareti yok) | <konum> "hello world" | Merhaba Dünya |
| s8 | UTF-8 dizesi | <location> "Bu bir UTF-8 kahve fincanı ☕" | "Bu bir UTF-8 kahve fincanı ☕" |
| s8b | UTF-8 dizesi (tırnak işareti yok) | <konum> "hello world" | Merhaba Dünya |
| su | Unicode (UTF-16 kodlama) dizesi (tırnak işaretleri ile) | <konum> L"merhaba dünya" | L"merhaba dünya" "merhaba dünya" |
| sub | Unicode (UTF-16 kodlama) dizesi (tırnak işareti yok) | <konum> L"hello world" | Merhaba Dünya |
| bstr | BSTR ikili dizesi (tırnak işaretleri ile) | <konum> L"hello world" | L"merhaba dünya" |
| env | Ortam bloğu (çift null karakter sonlandırmalı dize) | <konum> L"=::=::\\" | L"=::=::\\\0=C:=C:\\windows\\system32\0ALLUSERSPROFILE=... |
| s32 | UTF-32 dizesi (tırnak işaretleri ile) | <location> U"merhaba dünya" | U"hello world" |
| s32b | UTF-32 dizesi (tırnak işareti yok) | <location> U"merhaba dünya" | Merhaba Dünya |
| en | enum | Cumartesi(6) | Cumartesi |
| Hv | İşaretçi türü - denetlenen işaretçi değerinin bir dizinin yığın ayırmasının sonucu olduğunu gösterir; örneğin, new int[3]. |
<konum>{<ilk üye>} | <lokasyon>{<ilk üye>, <ikinci üye>, ...} |
| na | Nesne işaretçisinin bellek adresini gizler. | <location>, {member=value...} | {member=value...} |
| Nd | Türetilmiş sınıfları göz ardı ederek yalnızca temel sınıf bilgilerini gösterir. |
(Shape*) square temel sınıf ve türetilmiş sınıf bilgilerini içerir |
Yalnızca temel sınıf bilgilerini görüntüler |
| hr | HRESULT veya Win32 hata kodu. Hata ayıklayıcısı bunların kodunu otomatik olarak çözdiğinden, HRESULTs için bu tanımlayıcı artık gerekli değildir. | S_OK | S_OK |
| wc | Pencere sınıfı bayrağı | 0x0010 | WC_DEFAULTCHAR (Varsayılan Karakter) |
| wm | Windows ileti numaraları | 16 | WM_CLOSE |
| Nr | "Ham Görünüm" öğesini gizle | ||
| nvo | Yalnızca sayısal değerler için "Ham Görünüm" öğesini göster | ||
| ! | ham biçim, herhangi bir veri türü görünümü özelleştirmesini yoksayarak | <özelleştirilmiş gösterim> | 4 |
| kulp | win32 tutamacı hakkındaki bilgileri görüntüler | 0x000000000000009c | Handle hakkında iş parçacığı kimliği gibi yararlı bilgileri görüntüler. |
Uyarı
hv biçim tanımlayıcısı mevcut olduğunda, hata ayıklayıcı arabelleğin uzunluğunu belirlemeye ve bu sayıda öğeyi görüntülemeye çalışır. Hata ayıklayıcının bir dizinin tam arabellek boyutunu bulması her zaman mümkün olmadığından, mümkün olduğunda bir boyut belirtici (pBuffer,[bufferSize]) kullanmanız gerekir.
hv biçim tanımlayıcısı, arabellek boyutu kolaylıkla mevcut olmadığında kullanışlıdır.
İşaretçiler için boyut tanımlayıcılarını dizi olarak boyutlandırma
Dizi olarak görüntülemek istediğiniz nesnenin işaretçisi varsa, dizi öğelerinin sayısını belirtmek için bir tamsayı veya ifade kullanabilirsiniz.
| Tanımlayıcı | Biçim | Özgün saat değeri | Görüntülenen Değer |
|---|---|---|---|
| n | Ondalık veya onaltılık tamsayı | pBuffer,[32] pBuffer,[0x20] |
32 öğe dizisi olarak görüntülenir pBuffer . |
| [exp] | Tamsayı olarak değerlendirilen geçerli bir C++ ifadesi. | pBuffer,[bufferSize] | pBuffer öğesini bir öğe dizisi bufferSize olarak görüntüler. |
| expand(n) | Tamsayı olarak değerlendirilen geçerli bir C++ ifadesi | pBuffer, genişlet(2) | Üçüncü öğeyi görüntüler pBuffer |
C++/CLI ile birlikte çalışmada hata ayıklamak için biçim tanımlayıcıları
| Tanımlayıcı | Biçim | Özgün saat değeri | Görüntülenen Değer |
|---|---|---|---|
| o | işaretsiz sekizlik sayı | 0xF065 | 0170145 |
| x X |
Onaltılık tamsayı | 61541 | 0x0000f065 |
| c | tek karakter | <konum> | 101 'e' |
| s | const char* (tırnak işaretleri ile) | <konum> | "merhaba dünya" |
| su | const wchar_t* const char16_t* (tırnak işaretleri ile) |
<konum> | L"merhaba dünya" |
| sub | const wchar_t* const char16_t* |
<konum> | Merhaba Dünya |
| s8 | const char* (tırnak işaretleri ile) | <konum> | "merhaba dünya" |
| hr | HRESULT veya Win32 hata kodu. Hata ayıklayıcısı bunların kodunu otomatik olarak çözdiğinden, HRESULTs için bu tanımlayıcı artık gerekli değildir. |
S_OK | S_OK |
| wc | Pencere sınıfı bayrağı | 0x00000040, | WC_DEFAULTCHAR (Varsayılan Karakter) |
| wm | Windows ileti numaraları | 0x0010 | WM_CLOSE |
| ! | ham biçim, herhangi bir veri tipi görünümü özelleştirmesini dikkate almamak | <özelleştirilmiş gösterim> | 4 |
d, e, f, g, h, i, l, m, ma, mb, md, mq, mu, mw ve u tanımlayıcıları, yerel kod ve C++/CLI kodu için eski hata ayıklayıcıyı gerektirir, bu da Visual Studio 2022 veya sonraki sürümlerde desteklenmez.
C++/CLI ile birlikte çalışma hata ayıklamasında diziler olarak işaretçiler için boyut tanımlayıcısı
Dizi olarak görüntülemek istediğiniz nesnenin işaretçisi varsa, dizi öğelerinin sayısını belirtmek için bir tamsayı kullanabilirsiniz.
| Tanımlayıcı | Biçim | Expression | Görüntülenen Değer |
|---|---|---|---|
| n | Ondalık tamsayı | pBuffer[32] | 32 öğeli bir dizi olarak görüntüler pBuffer . |