vs2005 调试命令摘要举例

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

这是我所转的原帖的地址:http://www.cppblog.com/chefZ/archive/2008/12/05/68612.html

 

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

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

 

 

 

 

 

posted @ 2009-10-21 16:33  我的一天  阅读(556)  评论(0编辑  收藏  举报