Sdílet prostřednictvím


Specifikátory formátu v jazyce C++

Při ladění nativního kódu ve pustit okna nebo QuickWatch dialogového okna můžete změnit formát, ve kterém se zobrazí hodnotu pomocí specifikátory formátu.

(Většina specifikátory formátu pro pouze nativní kód, ale Visual C# má omezenou sadu specifikátory formátu.Podívejte se na téma Specifikátory formátu v jazyce C#.)

Můžete také specifikátory v aktuální okno, okno příkazového řádku a to i v systému windows zdroje.Pokud přesunutí ukazatele myši na výrazu v těchto systému windows, výsledek se zobrazí v popis dat.DataTips se projeví specifikátor formátu v popis dat zobrazení.

[!POZNÁMKA]

Nativní ladicí program sady Visual Studio přepnuta do nového ladění stroje.Součástí této změny byla přidání některé nové specifikátory formátu a odebrání některé staré.Přechod není dokončena a starší ladicí program je stále používají, když provedete vzájemná funkční spolupráce (smíšené nativní a spravované) ladění s C + +/ CLI, a pokud ladit pomocí C++ upravit a pokračovat.Části v tomto tématu, které ukazují specifikátory formátu pro každý modul ladění.

  • Specifikátory formátu sady visual Studio 2012 popisuje specifikátory formátu nový modul pro ladění.

  • Specifikátory formátu pro definiční ladění a C++, upravit a pokračovat popisuje specifikátory formátu starší modul pro ladění.

Obsah

Příklad

Specifikátory formátu Visual Studio 2012

  • Specifikátory velikost pro ukazatele jako pole v sadě Visual Studio 2012

Specifikátory formátu pro definiční ladění a C++, upravit a pokračovat

  • Formát specifikátory paměti umístění v definiční ladění a C++, upravit a pokračovat

  • Velikost specifikátor pro ukazatele jako pole v definiční ladění a C++, upravit a pokračovat

Příklad

Předpokládejme, že nVar je proměnná typu integer a okno kukátka uvádí, zda obsahuje hodnotu 0x0065.Chcete-li zobrazit hodnotu vyjádřené jako znak namísto celočíselnou hodnotu ve sloupci Název za název proměnné přidat specifikátor formátu znaku, c:

Místo na celočíselnou hodnotu 0x0065, sloupci Hodnota nyní zobrazí hodnota znaku 101 'e'.

Pokud chcete použít specifikátorem formátu na elementy pole nebo členy objektu, použijte ji přímo na každý prvek nebo člena.Nelze jej použít pro objekt nebo pole jako celek.Předpokládejme, bylo pole nArray a chtěli naleznete v části první čtyři elementů ve formátu znaků.Zadejte tyto výrazy v pustit okna:

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

Specifikátory formátu Visual Studio 2012

Následující tabulky popisují specifikátory formátu, které lze použít v sadě Visual Studio 2012, budete-li není ladění definiční (nativní a spravované) kódu s C + +/ CLI nebo s použitím C++ upravit a pokračovat.

Specifikátory v Tučné jsou není podporován pro ladění zprostředkovatele komunikace s C + +/ CLI nebo ladění v jazyce C++, upravit a pokračovat.

Specifikátor

Formát

Výraz

Hodnota zobrazená

d

desetinné číslo

0xF000F065 d

-268373915

o

celé číslo bez znaménka osmičková

0xF065, o

0170145

u

d

Hexadecimální číslo

61546, x

61541 h

0x0000f06a

X

N

Hexadecimální číslo

61541, X

61546, H

0x0000F06A

c

Jeden znak

0x0065, c

101 "e"

s

Řetězec znaků ASCII

0x0012fde8, s

"Ahoj světe"

SB

Řetězec znaků ASCII

0x0012fde8, sb

Dobrý den

su

Řetězec ve formátu Unicode

0x0012fde8 příkazu su

L "Ahoj světe"

pod

Řetězec ve formátu Unicode

0x0012fde8, sub

Dobrý den

s8

Řetězec UTF-8

0x0012fde8 s8

"Ahoj světe"

s8b

Řetězec UTF-8

0x0012fde8, s8b

Dobrý den

bstr

Řetězec BSTR

0x0032fe8 bstr

Ahoj existuje

cs

Použít u vyhodnocování výrazu na typ výčtu C++.Zobrazí pouze název konstanty výčtu, vynecháte číselnou hodnotu.

enumValue, en

EnumValue

, ná

& myGlobal n

WinMain ná

Adresa ukazatele není zobrazena.

Jít

PB jít

Zobrazí pouze základní třída informace o pb, ignoruje odvozené třídy

hr

Kód chyby HRESULT nebo Win32.(Ladicí program nyní dekóduje HRESULTs automaticky, takže tento specifikátor není vyžadováno v těchto případech.

0x00000000L, hr

S_OK

RC

Příznak, třída okna.

0x00000040 RC

WC_DEFAULTCHAR

WM

Čísel zpráv systému Windows

0x0010, wm

FUNKCE WM_CLOSE BUDE

!

Formát RAW ignoruje jakákoli přizpůsobení zobrazení datového typu

Mohu!

4

Specifikátory velikost pro ukazatele jako pole v sadě Visual Studio 2012

Pokud máte ukazatel na objekt, který chcete zobrazit jako pole, můžete použít celé číslo nebo výraz, chcete-li určit počet prvků pole:

Specifikátor

Formát

Výraz

Hodnota zobrazená

n

Desetinné číslo nebo hexadecimální celé číslo

pBuffer [32]

pBuffer [0x20]

Zobrazí pBuffer jako pole 32 elementu.

[exp]

Platný výraz jazyka C++, který je vyhodnocen jako celé číslo.

pBuffer [bufferSize]

Vyhodnotí bufferSize a zobrazí pBuffer jako pole vyhodnocený počet elementů.

expand(n)

pBuffer, expand(1,2)

Zobrazí třetí podřízeného člena druhý podřízeného člena pBuffer

Specifikátory formátu pro ladění zprostředkovatele komunikace s C + +/ CLI nebo C++, upravit a pokračovat

Specifikátory v Tučné jsou podporovány pouze pro ladění nativní a C + +/ CLI kódu a ladění kódu pomocí jazyka C++, upravit a pokračovat.

Specifikátor

Formát

Výraz

Hodnota zobrazená

d, i

desetinné číslo se znaménkem

0xF000F065 d

-268373915

o

desetinné číslo bez znaménka

0x0065, u

101

o

celé číslo bez znaménka osmičková

0xF065, o

0170145

x, X

Hexadecimální číslo

61541, x

0x0000f065

l, h

dlouhé nebo krátké předpona: d, i, u, o x X

00406042, hx

0x0c22

v

podepsaný plovoucí desetinnou čárkou.

(3. / 2.), f

1.500000

p

podepsaný matematickém zápisu

(3. / 2.), e

1.500000e + 000

g

přihlášen plovoucí desetinnou čárkou nebo podepsán matematickém zápisu, podle toho, co je kratší

(3. / 2.), g

1.5

c

Jeden znak

0x0065, c

101 "e"

s

String

0x0012fde8, s

"Ahoj světe"

su

Řetězec ve formátu Unicode

0x0012fde8 příkazu su

L "Ahoj světe"

pod

Řetězec ve formátu Unicode

0x0012fde8, sub

Dobrý den

s8

Řetězec UTF-8

0x0012fde8 s8

"Ahoj světe"

hr

Kód chyby HRESULT nebo Win32.(Ladicí program nyní dekóduje HRESULTs automaticky, takže tento specifikátor není vyžadováno v těchto případech.

0x00000000L, hr

S_OK

RC

Příznak, třída okna.

0x00000040 RC

WC_DEFAULTCHAR

WM

Čísel zpráv systému Windows

0x0010, wm

FUNKCE WM_CLOSE BUDE

!

Formát RAW ignoruje jakákoli přizpůsobení zobrazení datového typu

Mohu!

4

Formátovat Specifikátory paměťových míst v definiční ladění s C + +/ CLI nebo C++, upravit a pokračovat

Následující tabulka obsahuje formátování symboly použité pro umístění paměti.Specifikátor umístění paměti můžete použít s libovolná hodnota nebo výraz, který je vyhodnocován do umístění.

Symbol

Formát

Výraz

Hodnota zobrazená

Ma

64 znaků ASCII

PTR, ma

0x0012ffac. 4... 0... ". 0W &... 1T &.0.:W... 1....".. 1 JO &.1.2.. ".. 1... 0y... 1

f

16 bajtů v šestnáctkovém, za nímž následuje 16 znaků ASCII

PTR, m

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

MB

16 bajtů v šestnáctkovém, za nímž následuje 16 znaků ASCII

PTR, mb

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

MW

8 slova

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 bajtové znaky (Unicode)

PTR, mu

0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000

Specifikátor velikosti pro ukazatele jako pole v definiční ladění s C + +/ CLI nebo C++, upravit a pokračovat

Pokud máte ukazatel na objekt, který chcete zobrazit jako pole, můžete zadat počet prvků pole celé číslo:

Specifikátor

Formát

Výraz

Hodnota zobrazená

n

Desetinné číslo

pBuffer [32]

Zobrazí pBuffer jako pole 32 elementu.