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. |