VAssistX
VAssistX下载地址:http://pan.baidu.com/s/1eQJ9Ud8
常用快捷键
查找项目文件:alt+shift+o
查找类或变量的所有引用:alt+shift+f
显示方法列表/查找方法:alt+m
跳到方法实现/方法声明:alt+g
切换到.h文件/.cpp文件:alt+o
批量改变量/方法/类名:alt+shift+r
断点调试
常用快捷键
F10:逐过程
F11:逐语句
条件断点调试
在运行时如果有非常多Layout对象,但我只想中断_tag为76888的对象的某个方法。这时候就可以通过设置断点条件来实现了。
在断点中右键选择条件,添加判定条件。
断点设置命中次数
如果有一个方法被调用的次数非常多,而我只想中断第n次或者>=n或者2n次时的运行。这时可以通过设置命中次数实现。
查看内存
打开内存窗口(必须打断点):ctrl+alt+m+1
比如,我这里查看一个int类型数组中的值,输入地址,右键选择4字节整数(因为int占4个字节),带符号显示表示显示正负号,列可选择显示列数。
监视
选择一个表达式或者一个变量,右键添加监视,可以得到表达式的执行结果或监视变量的变化。
可以直接点击名称列,直接输入表达式,回车就可以看到执行结果。可以在运行时改变变量的值或者执行函数等。
快速监视
快捷键:shift + f9
在快速监视窗口,可以运行时执行表达式。
重新计算:再次执行
添加监视:添加到监视窗口,因为在快速监视窗口是临时的监视,窗口关闭就没有了。
调用堆栈
快捷键:ctrl + alt +c
在调用堆栈窗口可以看到方法的调用层次。
局部变量
快捷键:ctrl + alt +l
在局部变量窗口可以看到当前所有局部变量。
查看汇编代码
快捷键:ctrl + alt + d
在反汇编窗口可以看到源码对应的汇编代码。
寄存器
ctrl + alt + g
宏
$(RemoteMachine)
设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。
$(References)
以分号分隔的引用列表被添加到项目中。
$(ConfigurationName)
当前项目配置的名称(例如“Debug”)。
$(PlatformName)
当前项目平台的名称(例如“Win32”)。
$(Inherit)
指定在由项目生成系统所撰写的命令行中,继承的属性出现的顺序。默认情况下,继承的属性出现在当前属性的末尾。
$(NoInherit)
使任何将被继承的属性不被继承。若还要避免同级级别的计算,请使用 $(StopEvaluating)。使用 $(NoInherit)会导致对于同一属性忽略任何出现的 $(Inherit)。
$(StopEvaluating)
立即停止计算链中宏的计算。出现在 $(StopEvaluating) 之后的任何值将不出现在宏的计算值中。如果$(StopEvaluating) 在 $(Inherit) 之前,计算链中当前位置的继承值将不会连接到宏值。$(StopEvaluating)是 $(NoInherit) 的功能超集。
$(ParentName)
包含此项目项的项的名称。该名称将是父文件夹名称或项目名称。
$(RootNameSpace)
包含应用程序的命名空间(如果有)。
$(IntDir)
为中间文件指定的相对于项目目录的目录路径。它解析为“中间目录”属性的值。
$(OutDir)
输出文件目录的路径,相对于项目目录。这解析为“输出目录”属性的值。
$(DevEnvDir)
Visual Studio .NET 的安装目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。
$(InputDir)
输入文件的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。如果该项目是输入,则此宏等效于 $(ProjectDir)。
$(InputPath)
输入文件的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。如果该项目是输入,则此宏等效于 $(ProjectPath)。
$(InputName)
输入文件的基本名称。如果该项目是输入,则此宏等效于 $(ProjectName)。
$(InputFileName)
输入文件的文件名(定义为基本名称 + 文件扩展名)。如果该项目是输入,则此宏等效于 $(ProjectFileName)。
$(InputExt)
输入文件的文件扩展名。它在文件扩展名的前面包括“.”。如果该项目是输入,则此宏等效于 $(ProjectExt)。
$(ProjectDir)
项目的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。
$(ProjectPath)
项目的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(ProjectName)
项目的基本名称。
$(ProjectFileName)
项目的文件名(定义为基本名称 + 文件扩展名)。
$(ProjectExt)
项目的文件扩展名。它在文件扩展名的前面包括“.”。
$(SolutionDir)
解决方案的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。
$(SolutionPath)
解决方案的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(SolutionName)
解决方案的基本名称。
$(SolutionFileName)
解决方案的文件名(定义为基本名称 + 文件扩展名)。
$(SolutionExt)
解决方案的文件扩展名。它在文件扩展名的前面包括“.”。
$(TargetDir)
生成的主输出文件的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。
$(TargetPath)
生成的主输出文件的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(TargetName)
生成的主输出文件的基本名称。
$(TargetFileName)
生成的主输出文件的文件名(定义为基本名称 + 文件扩展名)。
$(TargetExt)
生成的主输出文件的文件扩展名。它在文件扩展名的前面包括“.”。
$(VSInstallDir)
安装 Visual Studio .NET 的目录。
$(VCInstallDir)
安装 Visual C++ .NET 的目录。
$(FrameworkDir)
安装 .NET Framework 的目录。
$(FrameworkVersion)
Visual Studio 使用的 .NET Framework 版本。与 $(FrameworkDir) 相结合,就是 Visual Studio 使用的 .NET Framework 版本的完整路径。
$(FrameworkSDKDir)
安装 .NET Framework SDK 的目录。.NET Framework SDK 可作为 Visual Studio .NET 的一部分安装,也可单独安装。
$(WebDeployPath)
从 Web 部署根到项目输出所属于的位置的相对路径。返回与 RelativePath 相同的值。
$(WebDeployRoot)
指向 <localhost> 位置的绝对路径。例如,c:\inetpub\wwwroot。
$(SafeParentName)
有效名称格式的直接父级的名称。例如,窗体是 .resx 文件的父级。
$(SafeInputName)
作为有效类名的文件的名称,但不包括文件扩展名。
$(SafeRootNamespace)
项目向导将在其中添加代码的命名空间名称。此命名空间名称将只包含在有效的 C++ 标识符中允许的字符。
$(FxCopDir)
fxcop.cmd 文件的路径。fxcop.cmd 文件不和所有的 Visual C++ 版本一起安装。
来源:http://www.cnblogs.com/lidabo/archive/2012/05/29/2524170.html