VS 的Command Window 调试命令的总结

调试的时候,可以在VS 的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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值