Udostępnij za pośrednictwem


Specyfikatory formatu w C++

Podczas debugowania kodu macierzystego w obserwowanych okna lub QuickWatch okno dialogowe, możesz zmienić format, w którym jest wyświetlana wartość przy użyciu formatu specyfikatory.

(Większość specyfikatory format dla tylko kodu macierzystego, ale program Visual C# ma ograniczony zestaw specyfikatory format.Zobacz Specyfikatory formatu w C#.)

Umożliwia także format specyfikatory natychmiastowego w oknie okno polecenia, a nawet w systemie windows źródła.Jeśli zostanie wstrzymana na wyrażenia w tych oknach, wynik pojawi się porada dotycząca danych.DataTips zostaną one zastosowane specyfikator formatu wyświetlania Porada dotycząca danych.

[!UWAGA]

Macierzysty debuger programu Visual Studio są przenoszone na nowy aparat debugowania.Uwzględnione w tej zmiany jest dodanie niektóre nowe specyfikatory format i usunięcie niektórych stare.Przejście nie jest ukończona, a starsze debuger jest nadal używany po wykonaniu usługę międzyoperacyjną (mieszany macierzystego i zarządzane) debugowania za pomocą C + +/ CLI, i po debugowania, za pomocą edycji C++ i kontynuować.W tym temacie częściach specyfikatory format dla każdego aparatu debugowania.

  • Programu visual Studio 2012 format specyfikatory opisuje specyfikatory formatu w nowy aparat debugowania.

  • Specyfikatory format do debugowania współdziałania i C++ edytować i kontynuować opisuje specyfikatory format starsze aparat debugowania.

Zawartość

Przykład

Program Visual Studio 2012 w formacie specyfikatory

  • Specyfikatory rozmiar dla wskaźniki jako tablic w programie Visual Studio 2012

Format specyfikatory współdziałania debugowania i C++ Edytuj i Kontynuuj

  • Lokalizacjami pamięci specyfikatory format współdziałania debugowania i C++ Edytuj i Kontynuuj

  • Rozmiar specyfikator dla wskaźniki jako tablice w współdziałania debugowania i C++ Edytuj i Kontynuuj

Przykład

Załóżmy, że nVar jest zmienna typu Liczba całkowita i obserwuj okno pokazuje, że zawiera on wartość 0x0065.Zobacz wartość wyrażone jako znak, a nie liczba całkowita, w kolumnie Nazwa po nazwę zmiennej, dodać specyfikator formatu znaków, c:

Zamiast wartość całkowitą 0x0065, kolumnie wartość teraz wyświetla wartość znak 101 'e'.

Jeśli chcesz zastosować specyfikator formatu elementy tablicy lub członkom obiektu, należy zastosować go bezpośrednio do każdego elementu lub elementu członkowskiego.Nie można zastosować go do tablicy lub obiektu jako całość.Załóżmy, że mieli tablicy nArray i chciała Zobacz cztery pierwsze elementy w formacie znaków.Należy wprowadzić te wyrażenia w obserwowanych okna:

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

Program Visual Studio 2012 w formacie specyfikatory

W poniższej tabeli przedstawiono specyfikatory formatu, których można używać w programie Visual Studio 2012, gdy użytkownik jest nie debugowanie współdziałania kodu (macierzysty i zarządzanych) za pomocą C + +/ CLI lub za pomocą języka C++ Edytuj i Kontynuuj.

Specyfikatory w boldnie obsługiwane na potrzeby debugowania współdziałania z C + +/ CLI lub debugowania za pomocą języka C++ Edytuj i Kontynuuj.

Specyfikator

Format

Wyrażenie

Wartość wyświetlana

d

Liczba dziesiętna

0xF000F065 d

-268373915

o

Liczba całkowita ósemkową bez znaku

0xF065, o

0170145

x

g

Szesnastkowa liczba całkowita

61546, x

61541 h

0x0000f06a

X

H

Szesnastkowa liczba całkowita

61541, X

61546, H

0x0000F06A

c

Pojedynczy znak

0x0065 c

101 "e"

s

Ciąg ASCII

0x0012fde8, s

"Hello world"

SB

Ciąg ASCII

0x0012fde8, sb

Witaj, świecie

su

Ciąg w formacie Unicode

0x0012fde8, su

L "Witaj, świecie"

indeks dolny

Ciąg w formacie Unicode

0x0012fde8, sub

Witaj, świecie

S8

Ciąg UTF-8

0x0012fde8, s8

"Hello world"

s8b

Ciąg UTF-8

0x0012fde8, s8b

Witaj, świecie

bstr

Ciąg BSTR

0x0032fe8, bstr

Dzień

pl

Używany wraz z obliczenia wyrażenia języka C++ typu wyliczeniowego.Wyświetla tylko nazwę stała wyliczenia, pomijając wartości liczbowe.

enumValue, en

EnumValue

, nazwa

& myGlobal n

WinMain, nazwa

Adres wskaźnika nie są wyświetlane.

najdź

PB, najdź

Wyświetla tylko informacje klasa podstawowa pb ignoruje klasy pochodne

hr

Kod błędu HRESULT lub Win32.(Debuger teraz dekoduje HRESULTs automatycznie, więc specyfikator ta nie jest wymagana w takich przypadkach.

0x00000000L, hr

S_OK

WC

Flaga klasy okna.

0x00000040, wc

WC_DEFAULTCHAR

Windows Media

Numery komunikat systemu Windows

0x0010, wm

POLECENIE WM_CLOSE ZOSTAŁO

!

format RAW, ignorując dowolne dostosowania widoków typu danych

mogę!

4

Specyfikatory rozmiar dla wskaźniki jako tablic w programie Visual Studio 2012

Jeśli masz wskaźnik do obiektu, którego mają być wyświetlane w postaci tablicy, można użyć liczbą całkowitą lub wyrażenie określająca liczbę elementów tablicy:

Specyfikator

Format

Wyrażenie

Wartość wyświetlana

n

Dziesiętną lub szesnastkowych liczba całkowita

pBuffer, [32]

pBuffer, [0x20]

Wyświetla pBuffer jako tablica 32 elementu.

[oczekiwane]

Prawidłowe wyrażenie języka C++, które oblicza na liczbę całkowitą.

pBuffer, [bufferSize]

Oblicza bufferSize i wyświetla pBuffer jako tablicę obliczane liczbę elementów.

expand(n)

pBuffer, expand(1,2)

Wyświetla trzeci podrzędnych elementu podrzędnego drugi z pBuffer

Format specyfikatory debugowanie współdziałania z C + +/ CLI lub C++, Edytuj i Kontynuuj

Specyfikatory w bold są obsługiwane tylko na potrzeby debugowania macierzystego i C + +/ CLI kodu i debugowania za pomocą języka C++ Edytuj i Kontynuuj.

Specyfikator

Format

Wyrażenie

Wartość wyświetlana

d, mogę

dziesiętna liczba całkowita

0xF000F065 d

-268373915

u

niepodpisane liczba dziesiętna

0x0065, u

101

o

Liczba całkowita ósemkową bez znaku

0xF065, o

0170145

x, X

Szesnastkowa liczba całkowita

61541, x

0x0000f065

l, h

Prefiks długich i krótkich: d, i, u, o x X

00406042, hx

0x0c22

f

podpisany zmiennoprzecinkowych

(3. / 2.), f

1.500000

e

podpisany wykładniczej

(3. / 2.), e

1.500000e + 000

g

podpisana zmiennoprzecinkowych lub podpisany wykładniczej, który z nich jest mniej

(3. / 2.), g

1.5

c

Pojedynczy znak

0x0065 c

101 "e"

s

String

0x0012fde8, s

"Hello world"

su

Ciąg w formacie Unicode

0x0012fde8, su

L "Witaj, świecie"

indeks dolny

Ciąg w formacie Unicode

0x0012fde8, sub

Witaj, świecie

S8

Ciąg UTF-8

0x0012fde8, s8

"Hello world"

hr

Kod błędu HRESULT lub Win32.(Debuger teraz dekoduje HRESULTs automatycznie, więc specyfikator ta nie jest wymagana w takich przypadkach.

0x00000000L, hr

S_OK

WC

Flaga klasy okna.

0x00000040, wc

WC_DEFAULTCHAR

Windows Media

Numery komunikat systemu Windows

0x0010, wm

POLECENIE WM_CLOSE ZOSTAŁO

!

format RAW, ignorując dowolne dostosowania widoków typu danych

mogę!

4

Formatuj lokalizacjami pamięci specyfikatory debugowanie współdziałania z C + +/ CLI lub C++, Edytuj i Kontynuuj

Poniższa tabela zawiera formatowania symbole używane do lokalizacji pamięci.Specyfikator lokalizacji pamięci można używać ze dowolna wartość lub wyrażenie, którego wartością do lokalizacji.

Symbol

Format

Wyrażenie

Wartość wyświetlana

ma

64 znaków ASCII

PTR, ma

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

m

16 bajtów w szesnastkowy, po którym następuje 16 znaków 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ów w szesnastkowy, po którym następuje 16 znaków 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 słowa

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

Średnia

2-bajtowa znaków (Unicode)

PTR, mu

0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000

Określenie rozmiaru dla wskaźniki jako tablice debugowania współdziałania z C + +/ CLI lub C++, Edytuj i Kontynuuj

Jeśli wskaźnik do obiektu, którego mają być wyświetlane w postaci tablicy, można użyć liczba całkowita określająca liczbę elementów tablicy:

Specyfikator

Format

Wyrażenie

Wartość wyświetlana

n

Liczba dziesiętna

pBuffer [32]

Wyświetla pBuffer jako tablica 32 elementu.