调试命令的总结,挺有用的,所以转过来了。调试的时候,可以在VS2005的Command Window中输入调用。

以 Unicode 形式列出内存

>du 0x056769d0 <=== du 以 Unicode 形式列出内存 0x056769d0 内存以起始位址

原稿: http://msdn.microsoft.com/en-us/library/c338aexd.aspx

[摘]“命令”窗口用于直接在 Visual Studio 集成开发环境 (IDE) 中执行命令或别名。可以执行菜单命令和不在任何菜单上显示的命令。若要显示“命令”窗口,请从“视图”菜单中选择“其他窗口”,再选择“命令窗口”。

以下是包含可在 Visual Studio 中使用的预定义命令别名的列表。


命令名



别名



完整名称



打印



?



Debug.Print



快速监视



??



Debug.Quickwatch



添加新项目



AddProj



File.AddNewProject



别名



Alias



Tools.Alias



“自动”窗口



Autos



调试.自动窗口



“断点”窗口



bl



调试.断点



切换断点



bp



Debug.ToggleBreakPoint



“调用堆栈”窗口



CallStack



调试.调用堆栈



清除书签



ClearBook



编辑.清除书签



关闭



Close



File.Close



关闭所有文档



CloseAll



Window.CloseAllDocuments



全部清除



cls



Edit.ClearAll



“命令”模式



cmd



视图.命令窗口



查看代码



code



视图.查看代码



列出内存



d



Debug.ListMemory



以 ANSI 形式列出内存



da



Debug.ListMemory /Ansi



列出内存(单字节格式)



db



Debug.ListMemory /Format:OneByte



以 ANSI 形式列出内存(四字节格式)



dc



Debug.ListMemory /Format:FourBytes /Ansi



列出内存(四字节格式)



dd



Debug.ListMemory /Format:FourBytes



删除到行首



DelBOL



Edit.DeleteToBOL



删除到行尾



DelEOL



Edit.DeleteToEOL



删除水平空白



DelHSp



编辑.删除水平空白



视图设计器



designer



视图.视图设计器



列出内存(浮点格式)



df



Debug.ListMemory /Format:Float



“反汇编”窗口



disasm



调试.反汇编



列出内存(八字节格式)



dq



Debug.ListMemory /Format:EightBytes



以 Unicode 形式列出内存



du



Debug.ListMemory /Unicode



计算语句



eval



Debug.EvaluateStatement



退出



Exit



文件.退出



格式化选定内容



format



编辑.格式化选定内容



全屏



FullScreen



视图.全屏



开始



g



调试.启动



转到



GotoLn



编辑.转到



转到大括号



GotoBrace



编辑.转到大括号



F1帮助



Help



帮助.F1帮助



“即时”模式



immed



Tools.ImmediateMode



将文件作为文本插入



InsertFile



Edit.InsertFileAsText



列出调用堆栈



kb



Debug.ListCallStack



转换为小写



Lcase



编辑.转换为小写



剪切行



LineCut



编辑.剪切行



删除行



LineDel



编辑.删除行



列出成员



ListMembers



编辑.列出成员



“局部变量”窗口



Locals



调试.局部变量



日志命令窗口输出



Log



Tools.LogCommandWindowOutput



命令窗口标记模式



mark



工具.命令窗口标记模式



“内存”窗口



Memory Memory1



调试.内存1



内存窗口 2



Memory2



调试.内存2



内存窗口 3



Memory3



调试.内存3



内存窗口 4



Memory4



调试.内存4



设置基数



n



Debug.SetRadix



显示Web浏览器



nav navigate



View.ShowWebBrowser



下一书签



NextBook



编辑.下一书签



新建文件



nf



文件.新建文件



新建项目



np NewProj



文件.新建项目



打开文件



of Open



文件.打开文件



打开项目



op



File.OpenProject



折叠到定义/停止大纲显示



OutlineDefs StopOutlining



编辑.折叠到定义



逐过程



p



调试.逐过程



参数信息



ParamInfo



编辑.参数信息



跳出



pr



调试.跳出



上一书签



PrevBook



编辑.上一书签



打印文件



print



文件.打印



“属性”窗口



props



视图.属性窗口



停止



q



调试.停止调试



重复



redo



编辑.重复



“寄存器”窗口



registers



调试.寄存器



运行到光标处



rtc



调试.运行到光标处



保存选定项



save



文件.保存选定项



全部保存



SaveAll



文件.全部保存



另存为



SaveAs



File.SaveSelectedItemsAs



“仅显示脚本”视图



ScriptOnly



View.ShowScriptOnly



外壳程序



shell



Tools.Shell



停止在文件中查找



StopFind



Edit.FindInFiles /stop



交换定位点



SwapAnchor



编辑.交换定位点



逐语句



t



调试.逐语句



制表符替换空格



tabify



编辑.制表符替换空格



“任务列表”窗口



TaskList



视图.任务列表



“线程”窗口



Threads



调试.线程



水平平铺



TileH



Window.TileHorizontally



垂直平铺



TileV



Window.TileVertically



切换书签



ToggleBook



编辑.切换书签



“工具箱”窗口



toolbox



视图.工具箱



列出反汇编



u



Debug.ListDisassembly



转换为大写



Ucase



编辑.转换为大写



取消



undo



编辑.取消



空格替换制表符



Untabify



编辑.空格替换制表符



“监视”窗口



Watch



调试.监视N



切换自动换行



WordWrap



编辑.切换自动换行



列出线程



~



Debug.ListThreads


若要检查变量 varA 的值,请使用“打印”命令:


>Debug.Print varA


问号 (?) 是 Debug.Print 的别名,因此此命令还可以写为:


>? varA


此命令的这两种版本都将返回变量 varA 的值。



输入命令

大于号 (>) 作为新行提示符出现在“命令”窗口的左边缘。使用向上键和向下键可滚动显示以前发出的命令。


任务



解决方案



示例



计算表达式的值。



表达式以问号 (?) 开始。



? myvar



切换到“即时”窗口。



在窗口中输入 immed,不带大于号 (>)。



immed



从“即时”窗口切换回“命令”窗口。



在窗口中输入 cmd。



>cmd


以下快捷键可以帮助您在“命令”模式中定位。


操作



光标位置



键绑定



循环通过以前输入的命令的列表。



输入行



向上键和向下键



向上滚动窗口。



命令窗口内容



Ctrl+向上键



向下滚动窗口。



命令窗口内容



向下键或 Ctrl+向下键









通过滚动到前一个命令,突出显示该命令的全部或部分内容,然后按 Enter,可以将该命令的全部或部分内容复制到输入行中。












标记模式

在“命令”窗口中单击前面的任何行时,将自动切换到“标记”模式。这允许您像在任何文本编辑器中那样选择、编辑和复制以前命令的文本,并将其粘贴到当前行中。



等号 (=)

用于输入 EvaluateStatement 命令的窗口确定是将等号 (=) 解释为比较运算符还是赋值运算符。

在“命令”窗口中,将等号 (=) 解释为比较运算符。不能在“命令”窗口中使用赋值运算符。例如,如果变量 varA 和 varB 的值不相同,则命令


>Debug.EvaluateStatement(varA=varB)


将返回 False 值。

与此相反,在“即时”窗口中,将等号 (=) 解释为赋值运算符。例如,命令


>Debug.EvaluateStatement(varA=varB)


将为变量 varA 赋予变量 varB 的值。



参数、开关和值

有些 Visual Studio 命令具有必选的和可选的参数、开关和值。当处理这些命令时,应用某些规则。下面是一个用来阐明此术语的复杂命令示例。


Edit.ReplaceInFiles /case /pattern:regex var[1-3]+ oldpar


在此示例中,


  • Edit.ReplaceInFiles 是命令。
  • /case 和 /pattern:regex 是开关(以斜杠 [/] 字符开头)
  • regex 是 /pattern 开关的值;/case 开关没有值。
  • var[1-3]+ 和 oldpar 是参数。


任何包含空格的命令、参数、开关或值都必须用双引号引起来。


在命令行上,开关和参数的位置可以随便互换,但外壳程序命令是个例外,它要求开关和参数按特定的顺序出现。

几乎命令所支持的每个开关都有两种格式:短格式(一个字符)和长格式。多个短格式开关可组合为一组。例如,/p /g /m 也可表示为 /pgm。

如果短格式开关组合为一组,而且给定一个值,则该值应用于每个开关。例如,/pgm:123 等同于 /p:123 /g:123 /m:123。如果该组中的任何开关都不接受值,则发生错误。



转义符

命令行中的插入符号 (^) 字符表示紧随其后的字符将按原义而不作为控制字符进行解释。这可用于在参数或开关值(开关名除外)中嵌入直引号 (")、空格、正斜杠、插入符号或其他任何字符。例如,


>Edit.Find ^^t /regex


插入符号在引号内或引号外的作用相同。如果插入符号是该行的最后一个字符,则忽略不计。