Aracılığıyla paylaş


C++ biçimi belirteçleri

Yerel kodda hata ayıklarken Watch pencere veya QuickWatch iletişim kutusunda bir değer görüntülendiği biçimi belirteçleri kullanma biçimini değiştirme.

(Çoğu biçimi belirteçleri yalnızca yerel kodda olduğu halde Visual C# sınırlı biçim belirteçleri kümesi vardır.See C# [NULL]'taki biçimi belirteçleri.)

Command window, hemen penceresinde ve hatta kaynak windows de biçim belirteçleri kullanabilirsiniz.Bu windows deyimde duraklatırsanız, sonucu bir DataTip görüntülenir.DataTips DataTip görüntü biçim belirticisi yansıtır.

[!NOT]

Visual Studio 2012 doğal hata ayıklayıcı için yeni bir hata ayıklama motoru moda.Bu değişikliği dahil ve buna ek olarak bazı yeni biçimi belirticileri ve bazı eskilerinin kaldırılmasını idi.Geçiş tam değildir ve (karışık yerel ve yönetilen) birlikte çalışabilirlik yaptığınızda eski hata ayıklayıcı hala kullanılan hata ayıklama ve ne zaman C++ kullanarak debug Düzenle ve devam edin.Bu konudaki bölümler her hata ayıklama alt yapısı için biçim belirteçleri göster.

  • Visual Studio 2012 format specifiersYeni hata ayıklama alt yapısı'ndaki biçim belirteçleri açıklar.

  • Format specifiers for interop debugging and C++ edit and continueBiçim belirteçleri eski hata ayıklama Altyapısı'nda açıklanmıştır.

Bu konuda

Example

Visual Studio 2012 format specifiers

  • Size specifiers for pointers as arrays in Visual Studio 2012

Format specifiers for interop debugging and C++ edit and continue

  • Format specifiers memory locations in interop debugging and C++ edit and continue

  • Size specifier for pointers as arrays in interop debugging and C++ edit and continue

Örnek

Varsayalım nVar bir tamsayı değişken olduğunu ve Gözcü penceresi değeri içeren 0x0065.Karakter biçim belirticisi bkz: değişken adından sonra bir karakter yerine adı sütununda bir tamsayı olarak ifade edilen değer eklemek için c:

Tamsayı değeri yerine 0x0065, değer sütunu şimdi karakter değeri görüntüler 101 'e'.

Bir dizinin öðeleri ya da üye nesnenin biçim belirticisi uygulamak istiyorsanız, doğrudan her öğe veya üye uygulamalısınız.Dizi veya nesne için bir bütün olarak uygulamadan olamaz.Örneğin, bir dizi vardı varsayalım nArray ve ilk dört öğeleri karakter biçiminde görmek istedi.Bu ifadeler girersiniz Watch pencere:

nArray[0],c
nArray[1],c
nArray[2],c
nArray[3],c

Visual Studio 2012 biçimi belirteçleri

Olduğunuzda, aşağıdaki tablolarda, kullanabileceğiniz biçim belirteçleri Visual Studio 2012'de gösterilmektedir. değil (C++ karışık ve yönetilen) birlikte çalışabilirlik hata ayıklama kodu veya C++ kullanarak Düzenle ve devam edin.

Belirteçleri de Kalın olan değil hata ayıklama veya C++ ile hata ayıklama Interop Düzenle ve devam etmek için desteklenen.

Belirleyici

Biçim

İfade

Görüntülenen değer

d

ondalık tamsayı

0xF000F065, d

-268373915

o

sekizlik imzalanmamış tamsayı

0xF065, o

0170145

x

h

Onaltılık tamsayı

61546, x

61541, h

0x0000f06a

X

H

Onaltılık tamsayı

61541, X

61546, H

0x0000F06A

c

Tek bir karakter

0x0065, c

101 'e'

s

String

0x0012fde8, s

"Hello world"

Su

Unicode dize

0x0012fde8, su

"Hello world"

S8

utf-8 dize

0x0012fde8, s8

"Hello world"

s8b

utf-8 dize

0x0012fde8, s8b

Merhaba Dünya

BStr

bstr dize

0x0032fe8, bstr

Hi var.

ND

PB, nd

Pb türetilmiş sınıflar yoksayarak, yalnızca temel sınıf bilgileri görüntüler

hr

hresult veya Win32 hata kodu.Kodunu (Bu belirleyici bu gibi durumlarda gerekli olmayan şekilde hata ayıklayıcı'yı Şimdi HRESULTs otomatik olarak çözer.

0x00000000L, hr

S_OK

WC

Pencere sınıfı bayrak.

0x00000040, wc

WC_DEFAULTCHAR

WM

Windows ileti numarası

0X0010, wm

WM_CLOSE

!

raw formatı, herhangi bir veri türü görünümleri özelleştirme yoksayma

Ben!

4

75w45ekt.collapse_all(tr-tr,VS.110).gifİşaretçiler olarak Visual Studio 2012 diziler için boyut belirteçleri

Bir dizi olarak görüntülemek istediğiniz bir nesneye bir işaretçi varsa, dizi öğelerinin sayısını belirtmek için bir tamsayı ya da bir ifadeyi kullanabilirsiniz:

Belirleyici

Biçim

İfade

Görüntülenen değer

n

Ondalık veya onaltılık tamsayı

pBuffer [32]

pBuffer [0x20]

PBuffer 32 öğe dizisi olarak görüntüler.

[exp]

Tamsayı sonucunu geçerli bir C++ ifade.

pBuffer [ArabellekBoyutu]

BufferSize değerlendirir ve pBuffer Değerlendirilmiş sayıda öğe dizisi görüntüler.

expand(n)

pBuffer, expand(1,2)

Üçüncü çocuk pBuffer ikinci alt görüntüler

Hata ayıklama ve C++ için biçim belirteçleri Düzenle ve devam

Belirteçleri de Kalın , hata ayıklama ve C++ ile hata ayıklama Düzenle ve devam etmek için yalnızca desteklenir.

Belirleyici

Biçim

İfade

Görüntülenen değer

d, ben

ondalık tamsayı imzalanmış

0xF000F065, d

-268373915

u

imzalanmamış Onlu tamsayı

0x0065, u

101

o

sekizlik imzalanmamış tamsayı

0xF065, o

0170145

x, x

Onaltılık tamsayı

61541, x

0x0000f065

l, h

uzun veya kısa öneki: d, i, u, s, x, x

00406042, hx

0x0c22

f

Kayan nokta imzalı

(3. / 2.), f

1.500000

e

imzalanmış bilimsel gösterim

(3. / 2.), e

1.500000e + 000

g

Kayan nokta veya bilimsel gösterim imzalı imzalı, hangisi daha kısa ise

(3. / 2.), g

1.5

c

Tek bir karakter

0x0065, c

101 'e'

s

String

0x0012fde8, s

"Hello world"

Su

Unicode dize

0x0012fde8, su

"Hello world"

S8

utf-8 dize

0x0012fde8, s8

"Hello world"

hr

hresult veya Win32 hata kodu.Kodunu (Bu belirleyici bu gibi durumlarda gerekli olmayan şekilde hata ayıklayıcı'yı Şimdi HRESULTs otomatik olarak çözer.

0x00000000L, hr

S_OK

WC

Pencere sınıfı bayrak.

0x00000040, wc

WC_DEFAULTCHAR

WM

Windows ileti numarası

0X0010, wm

WM_CLOSE

!

raw formatı, herhangi bir veri türü görünümleri özelleştirme yoksayma

Ben!

4

75w45ekt.collapse_all(tr-tr,VS.110).gifHata ayıklama ve C++ biçimi belirteçleri bellek konumlarını Düzenle ve devam edin

Aşağıdaki tabloda, bellek konumları için kullanılan biçimlendirme simgelerini içerir.Herhangi bir değer veya bir konuma değerlendirir ifade ile bir bellek konumu belirleyici kullanabilirsiniz.

Sembol

Biçim

İfade

Görüntülenen değer

ma

64 ASCII karakteri

PTR, ma

0x0012ffac.... 4 0... ".0W &.......1W &.0.:W...1...."..1. jo &.1.2... "...1... 0y....1

m

16 baytlık onaltılı, ardından 16 ASCII karakterleri

PTR, m

0X0012FFAC B3 34 00 84 30 94 80 CB FF 22 8A 30 57 26 00 00.... 4 0... ".0W &...

MB

16 baytlık onaltılı, ardından 16 ASCII karakterleri

PTR, mb

0X0012FFAC B3 34 00 84 30 94 80 CB FF 22 8A 30 57 26 00 00.... 4 0... ".0W &...

mW

8 sözcükler

PTR, mw

0X0012FFAC 34B3 00CB 3084 8094 22FF 308A 2657 0000

MD

4 doublewords

PTR, md

0X0012FFAC 00CB34B3 80943084 308A22FF 00002657

MQ

2 quadwords

PTR, mq

0x0012ffac 7ffdf00000000000 5f441a790012fdd4

mu

2 baytlık karakterler (Unicode)

PTR, mu

0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000

75w45ekt.collapse_all(tr-tr,VS.110).gifHata ayıklama ve C++ dizileri Düzenle ve devam etmek gibi işaretçiler belirleyici boyutu

Bir dizi olarak görüntülemek istediğiniz bir nesneye bir işaretçi varsa, dizi öğelerinin sayısını belirtmek için bir tamsayı kullanabilirsiniz:

Belirleyici

Biçim

İfade

Görüntülenen değer

n

Ondalık tamsayı

pBuffer [32]

PBuffer 32 öğe dizisi olarak görüntüler.