Visual Studio 调试技巧[Command Window & Immediate Window ](Tips)
1. immediate window 定义的一些 alias (//z 2012-3-13 14:04:44 PM IS2120@CSDN)
alias ? Debug.Print
alias ?? Debug.QuickWatch
alias AddProj File.AddNewProject
alias alias Tools.Alias
alias autos Debug.Autos
alias bl Debug.Breakpoints
alias bp Debug.ToggleBreakpoint
alias callstack Debug.CallStack
alias ClearBook Edit.ClearBookmarks
alias close File.Close
alias CloseAll Window.CloseAllDocuments
alias cls Edit.ClearAll
alias cmd View.CommandWindow
alias code View.ViewCode
alias d Debug.ListMemory
alias da Debug.ListMemory /Ansi
alias db Debug.ListMemory /Format:OneByte
alias dc Debug.ListMemory /Format:FourBytes /Ansi
alias dd Debug.ListMemory /Format:FourBytes
alias DelBOL Edit.DeleteToBOL
alias DelEOL Edit.DeleteToEOL
alias DelHSp Edit.DeleteHorizontalWhiteSpace
alias designer View.ViewDesigner
alias df Debug.ListMemory /Format:Float
alias disasm Debug.Disassembly
alias dq Debug.ListMemory /Format:EightBytes
alias du Debug.ListMemory /Unicode
alias eval Debug.EvaluateStatement
alias exit File.Exit
alias format Edit.FormatSelection
alias FullScreen View.FullScreen
alias g Debug.Start
alias GotoBrace Edit.GotoBrace
alias GotoLn Edit.GoTo
alias help Help.F1Help
alias immed Tools.ImmediateMode
alias InsertFile Edit.InsertFileAsText
alias k Debug.ListCallStack
alias kb Debug.ListCallStack
alias Lcase Edit.MakeLowercase
alias LineCut Edit.LineCut
alias LineDel Edit.LineDelete
alias ListMembers Edit.ListMembers
alias locals Debug.Locals
alias log Tools.LogCommandWindowOutput
alias memory memory1
alias memory1 Debug.Memory1
alias memory2 Debug.Memory2
alias memory3 Debug.Memory3
alias memory4 Debug.Memory4
alias n Debug.SetRadix
alias nav navigate
alias navigate View.WebBrowser
alias new File.NewFile
alias NewProj File.NewProject
alias NextBook Edit.NextBookmark
alias nf File.NewFile
alias np File.NewProject
alias of File.OpenFile
alias op File.OpenProject
alias open File.OpenFile
alias OutlineDefs Edit.CollapsetoDefinitions
alias p Debug.StepOver
alias ParamInfo Edit.ParameterInfo
alias pr Debug.StepOut
alias PrevBook Edit.PreviousBookmark
alias print File.Print
alias props View.PropertiesWindow
alias q Debug.StopDebugging
alias r Debug.ListRegisters
alias redo Edit.Redo
alias registers Debug.Registers
alias rtc Debug.RunToCursor
alias save File.SaveSelectedItems
alias SaveAll File.SaveAll
alias SaveAs File.SaveSelectedItemsAs
alias shell Tools.Shell
alias StopFind Edit.FindInFiles /stop
alias StopOutlining Edit.CollapsetoDefinitions
alias SwapAnchor Edit.SwapAnchor
alias t Debug.StepInto
alias tabify Edit.TabifySelectedLines
alias TaskList View.TaskList
alias threads Debug.Threads
alias TileH Window.TileHorizontally
alias TileV Window.TileVertically
alias ToggleBook Edit.ToggleBookmark
alias toolbox View.Toolbox
alias u Debug.ListDisassembly
alias Ucase Edit.MakeUppercase
alias undo Edit.Undo
alias Untabify Edit.UntabifySelectedLines
alias watch Debug.Watch
alias WordWrap Edit.ToggleWordWrap
alias | Debug.ListProcesses
alias ~ Debug.ListThreads
alias ~*k Debug.ListCallStack /AllThreads
alias ~*kb Debug.ListCallStack /AllThreads
//z 2012-3-13 14:04:44 PM IS2120@CSDN
Task | Solution | Example |
---|---|---|
Evaluate an expression. |
Preface the expression with a question mark (?). |
? a+b |
Temporarily enter Command mode while in Immediate mode (to execute a single command). |
Enter the command, prefacing it with a greater than sign (>). |
>alias |
Switch to the Command window. |
Enter cmd into the window, prefacing it with a greater than sign (>). |
>cmd |
Switch back to the Immediate window. |
Enter immed into the window without the greater than sign (>). |
immed |
3. Command Window
The Command window is used to execute commands or aliases directly in the Visual Studio integrated development environment (IDE). You can execute both menu commands and commands that do not appear on any menu. To display theCommand window, choose Other Windows from theView menu, and select Command Window.
This section explains the commands and aliases available from the Command window.
Task |
Solution |
Example |
---|---|---|
Evaluate an expression. |
Preface the expression with a question mark (?). |
? myvar |
Switch to an Immediate window. |
Enter immed into the window without the greater than sign (>) |
immed |
Switch back to the Command window from an Immediate window. |
Enter cmd into the window. |
>cmd |
The following shortcuts help you navigate while in Command mode.
4. 等号在两个窗口的含义是不一样的
在COMMAND窗口,作为一个比较字符串,而在immediate window 作为一个赋值操作符
The Equals (=) Sign
The window used to enter the EvaluateStatement command determines whether an equals sign (=) is interpreted as a comparison operator or as an assignment operator.
In the Command window, an equals sign (=) is interpreted as a comparison operator. You cannot use assignment operators in theCommand window. So, for example, if the values of variablesvarA and varB are different, then the command
>Debug.EvaluateStatement(varA=varB)
will return a value of False.
In the Immediate window, by contrast, an equals sign (=) is interpreted as an assignment operator. So, for example, the command
>Debug.EvaluateStatement(varA=varB)
will assign to variable varA the value of variable varB.
5. 预定义的一些命令别名
Command Name |
Alias |
Complete Name |
---|---|---|
? |
Debug.Print |
|
?? |
Debug.Quickwatch |
|
Add New Project |
AddProj |
File.AddNewProject |
Alias |
Tools.Alias |
|
Autos window |
Autos |
Debug.Autos |
Breakpoints window |
bl |
Debug.Breakpoints |
Toggle Breakpoint |
bp |
Debug.ToggleBreakPoint |
Call Stack window |
CallStack |
Debug.CallStack |
Clear Bookmarks |
ClearBook |
Edit.ClearBookmarks |
Close |
Close |
File.Close |
Close All Documents |
CloseAll |
Window.CloseAllDocuments |
Clear All |
cls |
Edit.ClearAll |
Command mode |
cmd |
View.CommandWindow |
View Code |
code |
View.ViewCode |
d |
Debug.ListMemory |
|
List Memory Command as ANSI |
da |
Debug.ListMemory /Ansi |
List Memory Command One Byte format |
db |
Debug.ListMemory /Format:OneByte |
List Memory Command as ANSI with Four Byte format |
dc |
Debug.ListMemory /Format:FourBytes /Ansi |
List Memory Command Four Byte format |
dd |
Debug.ListMemory /Format:FourBytes |
Delete to BOL |
DelBOL |
Edit.DeleteToBOL |
Delete to EOL |
DelEOL |
Edit.DeleteToEOL |
Delete Horizontal Whitespace |
DelHSp |
Edit.DeleteHorizontalWhitespace |
View Designer |
designer |
View.ViewDesigner |
List Memory Command Float format |
df |
Debug.ListMemory/Format:Float |
Disassembly window |
disasm |
Debug.Disassembly |
List Memory Command Eight Byte format |
dq |
Debug.ListMemory /Format:EightBytes |
List Memory Command as Unicode |
du |
Debug.ListMemory /Unicode |
eval |
Debug.EvaluateStatement |
|
Exit |
Exit |
File.Exit |
Format Selection |
format |
Edit.FormatSelection |
Full Screen |
FullScreen |
View.FullScreen |
g |
Debug.Start |
|
GotoLn |
Edit.GoTo |
|
Go to Brace |
GotoBrace |
Edit.GotoBrace |
Help |
Help.F1Help |
|
Immediate Mode |
immed |
Tools.ImmediateMode |
Insert File as Text |
InsertFile |
Edit.InsertFileAsText |
kb |
Debug.ListCallStack |
|
Make Lower Case |
Lcase |
Edit.MakeLowercase |
Cut Line |
LineCut |
Edit.LineCut |
Delete Line |
LineDel |
Edit.LineDelete |
List Members |
ListMembers |
Edit.ListMembers |
Locals window |
Locals |
Debug.Locals |
Log |
Tools.LogCommandWindowOutput |
|
Command Window Mark Mode |
mark |
Tools.CommandWindowMarkMode |
Memory window |
Memory Memory1 |
Debug.Memory1 |
Memory Window 2 |
Memory2 |
Debug.Memory2 |
Memory Window 3 |
Memory3 |
Debug.Memory3 |
Memory Window 4 |
Memory4 |
Debug.Memory4 |
n |
Debug.SetRadix |
|
nav navigate |
View.ShowWebBrowser |
|
Next Bookmark |
NextBook |
Edit.NextBookmark |
nf |
File.NewFile |
|
New Project |
np NewProj |
File.NewProject |
of Open |
File.OpenFile |
|
op |
File.OpenProject |
|
Collapse to Definitions/Stop Outlining |
OutlineDefs StopOutlining |
Edit.CollapsetoDefinitions |
Step Over |
p |
Debug.StepOver |
Parameter Information |
ParamInfo |
Edit.ParameterInfo |
Step Out |
pr |
Debug.StepOut |
Previous Bookmark |
PrevBook |
Edit.PreviousBookmark |
Print File |
|
File.Print |
Properties Window |
props |
View.PropertiesWindow |
Stop |
q |
Debug.StopDebugging |
Redo |
redo |
Edit.Redo |
Registers window |
registers |
Debug.Registers |
Run to Cursor |
rtc |
Debug.RunToCursor |
Save Selected Items |
save |
File.SaveSelectedItems |
Save All |
SaveAll |
File.SaveAll |
Save As |
SaveAs |
File.SaveSelectedItemsAs |
shell |
Tools.Shell |
|
Stop Find In Files |
StopFind |
Edit.FindInFiles /stop |
Swap Anchor |
SwapAnchor |
Edit.SwapAnchor |
Step Into |
t |
Debug.StepInto |
Tabify Selection |
tabify |
Edit.TabifySelection |
Tasklist window |
TaskList |
View.TaskList |
Threads window |
Threads |
Debug.Threads |
Tile Horizontally |
TileH |
Window.TileHorizontally |
Tile Vertically |
TileV |
Window.TileVertically |
Toggle Bookmark |
ToggleBook |
Edit.ToggleBookmark |
Toolbox window |
toolbox |
View.Toolbox |
u |
Debug.ListDisassembly |
|
Make Uppercase |
Ucase |
Edit.MakeUppercase |
Undo |
undo |
Edit.Undo |
Untabify Selection |
Untabify |
Edit.UntabifySelection |
Watch window |
Watch |
Debug.WatchN |
Toggle Word Wrap |
WordWrap |
Edit.ToggleWordWrap |
List Processes |
| |
Debug.ListProcesses |
~ ~*k ~*kb |
Debug.ListThreads Debug.ListTheads /AllThreads |
6. 对别名的一些操作
To create an alias for a Visual Studio command
-
Open the Command window or place the focus in the Find/Command box.
-
Type >alias, then the name for the alias, followed by the command you want to create an alias for. For example:
>alias MyAlias File.NewFile MyFile
-
Press ENTER.
The status bar displays the text "Alias <aliasname> created". The new alias now appears in the auto-completion list for commands.
To delete an alias for a Visual Studio command
-
Open the Command window or place the focus in the Find/Command box.
-
Type >alias, then the name of the alias, followed by/delete. For example:
>alias myalias /delete
-
Press ENTER.
The status bar displays the text "Alias <aliasname> deleted".
To view a list of all current aliases and their definitions
-
In the Command window, type >alias and press ENTER.
A list of the current Visual Studio command aliases appears, including the definitions for the aliases. You can then print the contents of theCommand window.
Tip To clear the contents of the Command window, type >cls.
To view the definition for a single alias
-
In the Command window, type >alias followed by the alias name.
Visual Studio Edition |
Visual Basic |
C# |
C++ |
J# |
Express |
No |
No |
No |
No |
Standard |
Yes |
Yes |
No |
Yes |
Pro/Team |
Yes |
Yes |
No |
Yes |