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)