vs2005 调试命令摘要举例

来源:互联网 发布:安全生产知识网络竞赛 编辑:程序博客网 时间:2024/05/28 15:36

以 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
 

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

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/norains/archive/2009/10/21/4709165.aspx

原创粉丝点击