Zusammenfassung der Visual Studio Debugger Variablen und Formatanweisungen.
Variablen
Variable |
Beschreibung |
$err |
Letzter Fehlercode. (Rückgabe von GetLastError) z.B. $err,hr um den Errorcode als HR-Result auszuwerten. |
$handles |
Anzahl der Handles für die aktuelle Applikation. |
$vframe |
Adresse des aktuellen Stackframe. |
$TID |
Thread ID für den aktuellen Thread. |
$ENV |
Größe des Environment block. (s.u.) |
$CMDLINE |
Länge des Command line string. (s.u.) |
reg-name, $reg-name, @reg-name |
Inhalt des Registers. Wenn es zu einer Überdeckung mit einer Variablen (global, oder lokal) oder Funktion kommt, muss ein $- oder @-Zeichen voran gestellt werden. |
$clk |
Zeit in Clock cycles. |
$user |
Struktur mit Benutzerinformation für die laufende Anwendung. |
Erweiterungen für C# & VB
Variable |
Beschreibung |
$exception |
Displays information on the last exception. If no exception has occurred, evaluating $exception displays an error message. In Visual C# only, when the Exception Assistant is disabled, $exception is automatically added to the Locals window when an exception occurs. |
$ReturnValue |
Letzter Returnwert. (neu VS2013) |
Anmerkungen
- $ENV:
- Wenn man in der Value-Spalte einen Wert eingibt (Ganzzahl), dann erscheint im Output-Fenster der Inhalt des Environment blocks.
- $CMDLINE:
- Wenn man in der Value-Spalte einen Wert eingibt (Ganzzahl), dann erscheint im Output-Fenster der Inhalt der Kommando-Zeile.
Formatierungen
Symbol |
Format |
Beispiel |
Anzeige |
d,i |
Integer |
0xF000F065, d |
-268373915 |
u |
Integer (unsigned) |
0x0065, u |
101 |
o |
Integer (unsigned octal) |
0xF065, o |
0170145 |
x,X |
Integer (hexadecimal) |
61541, x |
0x0000F065 |
l,h |
long or short prefix for: d, i, u, o, x, X |
00406042,hx |
0x0c22 |
f |
Double |
(3./2.), f |
1.500000 |
e |
wissenschaftliche Notierung |
(3./2.), e |
1.500000e+000 |
g |
kurze Darstellung (wie printf) |
(3./2.), g |
1.5 |
c |
char |
0x0065, c |
101 'e' |
s |
String |
0x0012fde8, s |
"Hello world" |
su |
Unicode String |
0x0012fde8, su |
"Hello world" |
s8 |
UTF-8 String |
0x0012fde8, s8 |
"Hello world" |
hr |
HRESULT oder Win32 error code. |
0x00000000L, hr |
S_OK |
wc |
window class flag. |
0x00000040, wc |
WC_DEFAULTCHAR |
wm |
Windows message numbers |
0x0010, wm |
WM_CLOSE |
arr,N |
Anzeige von Felder |
arr,3 |
0x01234567 { 1, 2, 3 } |
Short-Cuts
Die wichtigsten Short-Cuts, die einem schnell die benötigten Informationen beim Debuggen anzeigen:
Tastaturkürzel |
Altern. Kürzel |
Fenster / Kommando |
<Alt>-2 |
<Ctrl><Alt>-O |
Output-Fenster |
<Alt>-4 |
<Ctrl><Alt>-V, L |
Lokale Variablen-Fenster (Variablen, Auto) |
- |
<Ctrl><Alt>-V, A |
Autos-Fenster (Variablen, Auto) |
- |
<Ctrl><Alt>-V, T |
This-Fenster (Variablen, This) |
<Alt>-5 |
<Ctrl><Alt>-G |
Registers-Fenster |
<Alt>-6 |
<Ctrl><Alt>-M,1 |
Memory-Fenster (1-4 für Memory Fenster 1-4) |
- |
<Ctrl><Alt>-W,1 |
Watch-Fenster (1-4 für Watch-Fenster 1-4) |
<Alt>-7 |
<Ctrl><Alt>-C |
Callstack-Fenster |
<Alt>-8 |
- |
Disassembly-Fenster |
<Alt>-0 |
- |
Source Code-Fenster (zurück aus dem Disassembly-Fenster) |
<Ctrl>-F11 |
- |
Wechsel zwischen Disassembly-Fenster und Source Code-Fenster |
F9 |
- |
Toggle Breakpoint |
<Alt>-F9 |
<Ctrl><Alt>-B |
Breakpoints-Fenster |
<Ctrl>-F9 |
- |
Disable / Enable Breakpoint |
<Ctrl><Shift>-F9 |
- |
Remove all Breakpoints |
- |
<Ctrl>-B |
Neuer Breakpoint (Unabhängig vom aktuellen Editor / von der Cursorposition) |
<Shift>-F9 |
<Ctrl><Alt>-Q |
Quick-Watch |
- |
<Ctrl><Alt>-E |
Exception Fenster |
- |
<Ctrl><Alt>-P |
Attach to Process-Fenster |
- |
<Ctrl><Alt>-H |
Threads-Fenster |
- |
<Ctrl><Alt>-U |
Modules-Fenster |
- |
<Ctrl><Alt>-I |
Immediate-Fenster (Direkteingabe) |
F5 |
- |
Startet im Debugger |
<Ctrl>-F5 |
- |
Startet ausserhalb den Debuggers |
<Shift>-F5 |
- |
Beendet den Debugger |
<Ctrl><Shift>-F5 |
- |
Restarted den Debugger |
F10 |
- |
Step over |
<Ctrl>-F10 |
- |
Run to Cursor |
<Ctrl><Shift>-F10 |
- |
Set next Statement to Cursor |
F11 |
- |
Step into |
<Shift>-F11 |
- |
Step out |
<Alt>-* (numpad) |
- |
Zeigt nächste Anweisung |
- Merkhilfe:
-
- <Alt>+Zahl: Die wichtigsten Debug-Fenster. (Nicht belegt sind 1, 3 und 9)
- <Ctrl><Alt>+Taste: Der Short-Cut beschreibt das Kommando (E für Exception) oder nicht (H für Threads).
- F9: Irgendwas mit Breakpoints (sowie das Quick Watch-Fenster)