Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan ändra formatet där ett värde visas i fönstren Klocka, Autos och Locals med hjälp av formatspecificerare.
Du kan också använda formatspecificerare i fönstret Omedelbart , kommandofönstret , i spårningspunkter och även i källfönster. Om du pausar ett uttryck i dessa fönster visas resultatet i en DataTip. DataTip-visningen visar formatspecificeraren.
Anmärkning
När det inbyggda Felsökningsprogrammet i Visual Studio ändrades till en ny felsökningsmotor lades vissa nya formatspecificerare till och några gamla togs bort. Det äldre felsökningsprogrammet används fortfarande när du felsöker interop (blandat inbyggt och hanterat) med C++/CLI.
Ange formatangivelser
Vi använder följande exempelkod:
int main() {
int my_var1 = 0x0065;
int my_var2 = 0x0066;
int my_var3 = 0x0067;
}
Lägg till variabeln my_var1 i Watch-fönstret vid felsökning, Debug>Windows>Watch>Watch 1. Högerklicka sedan på variabeln och välj Hexadecimal visning. Nu visar fönstret Watch värdet 0x0065. Om du vill se det här värdet uttryckt som ett tecken i stället för ett heltal högerklickar du först och avmarkerar Hexadecimal display. Lägg sedan till teckenformatsspecificeraren , c i kolumnen Namn efter variabelnamnet. Kolumnen Värde visar nu 101 "e".
Du kan visa och välja från en lista över tillgängliga formatspecificerare genom att lägga till ett kommatecken (,) till värdet i bevakningsfönstret .
Formatspecifikatorer
I följande tabeller beskrivs de formatspecificerare som du kan använda i Visual Studio. Specificerare i fetstil stöds bara för det nya felsökningsprogrammet och inte för interop-felsökning med C++/CLI.
| Specificerare | Format | Ursprungs klocktidvärde | Värde som visas |
|---|---|---|---|
| d | heltal i decimalsystemet | 0x00000066 | 102 |
| o | osignerat oktalt heltal | 0x00000066 | 000000000146 |
| x h |
hexadecimalt heltal | 102 | 0xcccccccc |
| X H |
hexadecimalt heltal | 102 | 0xCCCCCCCC |
| Xb Hb |
hexadecimalt heltal (utan inledande 0x) | 102 | cccccccccc |
| Xb Hb |
hexadecimalt heltal (utan inledande 0x) | 102 | CCCCCCCC |
| b | osignerat binärt heltal | 25 | 0b00000000000000000000000000011001 |
| Bb | osignerat binärt heltal (utan inledande 0b) | 25 | 00000000000000000000000000011001 |
| e | vetenskaplig notation | 25000000 | 2.500000e+07 |
| g | kortare av antingen vetenskaplig notation eller flyttalsrepresentation | 25000000 | 2.5e+07 |
| c | enskilt tecken | 0x0065 | 101 'e' |
| s | const char* sträng (med citattecken) | <plats> "hello world" | hej världen |
| Sb | const char* string (inga citattecken) | <plats> "hello world" | Hej världen |
| s8 | UTF-8-sträng | <plats> "Detta är en UTF-8 kaffekopp ☕" | "Det här är en UTF-8 kaffekopp ☕" |
| s8b | UTF-8-sträng (inga citattecken) | <plats> "hello world" | Hej världen |
| Su | Unicode-sträng (UTF-16-kodning) (med citattecken) | <lokalisering> L"Hej världen" | L"Hej världen" "hej världen" |
| sub | Unicode-sträng (UTF-16-kodning) (inga citattecken) | <lokalisering> L"Hej världen" | Hej världen |
| bstr | BSTR-binär sträng (med citattecken) | <lokalisering> L"Hej världen" | L"Hej världen" |
| env | Miljöblock (dubbelnoll-terminerad sträng) | <plats> L"=::=::\\" | L"=::=::\\\0=C:=C:\\windows\\system32\0ALLUSERSPROFILE=... |
| s32 | UTF-32-sträng (med citattecken) | <location> U"Hej världen" | U"Hej världen" |
| s32b | UTF-32-sträng (inga citattecken) | <location> U"Hej världen" | Hej världen |
| sv | enum | Lördag(6) | lördag |
| Hv | Pekartyp – indikerar att pekarvärdet som inspekteras är resultatet av heapallokeringen av en matris, till exempel new int[3]. |
<lokalisering>{<första medlemmen>} | <plats>{<första medlem>, <andra medlem>, ...} |
| Na | Undertrycker minnesadressen för en pekare till ett objekt. | <location>, {member=value...} | {member=value...} |
| Nd | Visar endast basklassinformationen och ignorerar härledda klasser |
(Shape*) square innehåller information om basklass och härledd klass |
Visar endast basklassinformation |
| hr | HRESULT- eller Win32-felkod. Den här specificeraren behövs inte längre för HRESULTs eftersom felsökningsprogrammet avkodar dem automatiskt. | S_OK | S_OK |
| wc | Flagga för fönsterklass | 0x0010 | WC_DEFAULTCHAR |
| wm | Windows-meddelandenummer | 16 | WM_CLOSE |
| nr | Undertryck "Raw View"-objekt | ||
| nvo | Visa "Raw View"-objekt endast för numeriska värden | ||
| ! | raw-format, ignorerar alla anpassningar av datatyper | <anpassad representation> | 4 |
| handtag | Visar information om win32-handtag | 0x000000000000009c | Visar användbar information om handtag, till exempel tråd-ID osv. |
Anmärkning
När hv-formatspecificeraren finns försöker felsökaren fastställa längden på bufferten och visa det antalet element. Eftersom det inte alltid är möjligt för felsökaren att hitta den exakta buffertstorleken för en matris bör du använda en storleksspecificerare (pBuffer,[bufferSize]) när det är möjligt. HV-formatspecificeraren är användbar när buffertstorleken inte är lätt tillgänglig.
Storleksspecificerare för pekare som matriser
Om du har en pekare till ett objekt som du vill visa som en matris kan du använda ett heltal eller ett uttryck för att ange antalet matriselement.
| Specificerare | Format | Ursprungs klocktidvärde | Värde som visas |
|---|---|---|---|
| n | Decimal- eller hexadecimalt heltal | pBuffer,[32] pBuffer,[0x20] |
Visas pBuffer som en 32-elementmatris. |
| [exp] | Ett giltigt C++-uttryck som utvärderas till ett heltal. | pBuffer,[bufferSize] | Visar pBuffer som en matris med bufferSize element. |
| expand(n) | Ett giltigt C++-uttryck som utvärderas till ett heltal | pBuffer, expand(2) | Visar det tredje elementet i pBuffer |
Formatera specificerare för interop-felsökning med C++/CLI
| Specificerare | Format | Ursprungs klocktidvärde | Värde som visas |
|---|---|---|---|
| o | osignerat oktalt heltal | 0xF065 | 0170145 |
| x X |
Hexadecimalt heltal | 61541 | 0x0000f065 |
| c | enskilt tecken | <plats> | 101 'e' |
| s | const char* (med citattecken) | <plats> | hej världen |
| Su | const wchar_t* const char16_t* (med citattecken) |
<plats> | L"Hej världen" |
| sub | const wchar_t* const char16_t* |
<plats> | Hej världen |
| s8 | const char* (med citattecken) | <plats> | hej världen |
| hr | HRESULT- eller Win32-felkod. Den här specificeraren behövs inte längre för HRESULTs eftersom felsökningsprogrammet avkodar dem automatiskt. |
S_OK | S_OK |
| wc | Flagga för fönsterklass | 0x00000040, | WC_DEFAULTCHAR |
| wm | Windows-meddelandenummer | 0x0010 | WM_CLOSE |
| ! | råformat, ignorerar alla anpassningar av datatypsvyer | <anpassad representation> | 4 |
D, e, f, g, h, i, l, m, ma, mb, md, mq, mu, mw och u specificerare för inbyggd C++/CLI-kod och inbyggd kod krävde det äldre felsökningsverktyget, som inte stöds i Visual Studio 2022 eller senare versioner av Visual Studio.
Storleksspecificerare för pekare som matriser i interop-felsökning med C++/CLI
Om du har en pekare till ett objekt som du vill visa som en matris kan du använda ett heltal för att ange antalet matriselement.
| Specificerare | Format | Expression | Värde som visas |
|---|---|---|---|
| n | Decimal heltal | pBuffer[32] | Visas pBuffer som en matris med 32 element. |