欢迎来到Introzo百科
Introzo百科
当前位置:网站首页 > 技术 > vs2010错误列表如何跟踪_VS2010中的调试技巧总结

vs2010错误列表如何跟踪_VS2010中的调试技巧总结

日期:2023-09-27 11:42

调试技巧的总结,内容整理自互联网

调试是软件开发周期中的一个很重要的部分,有时很有挑战性,有时候则让程序员迷惑,有时候让程序员发疯,但是。可以肯定的是,对于任何不是太那个微不足道的程序来说,调试是不可避免的。近年来,调试工具的发展已经使得很多调试任务简单省时了。

本文总结了十个调试技巧,当你使用VS的时候可以节省你很多时间。

1. 悬停鼠标查看表达式

调试有时候很有挑战性,当你步入一个函数想看看哪块出错的时候,查看调用栈来想想值是从哪来的。另一些情况下,则需要添加一些监视表达式,或者查看局部变量列表,这通常还是花费一些时间的,但是。如果你把你鼠标指向你感兴趣的一个变量。你会发现事情简单多了。而且,类和结构体可以通过单击展开。这样。你就可以方便快捷的找到你想查看的变量了。

2. 实时改变值 调试器不仅仅是一个分析程序崩溃或是异常结果的工具了,许多bug都可以通过步入新写的函数,检查函数是否如期望的那样运行来预防。有时候你可能会好奇“如果条件为真函数会正确运行吗”大多数情况下,根本不需要改变代码重启挑起,仅仅把鼠标悬停到一个变量上,双击值然后输入一个新值就可以了。。

3.设置下一条语句 一个典型的调试情况就是通过单步跟踪分析为什么一个函数调用失败了。当你发现一个函数调用的另一个函数返回错误的时候你会怎么做?重启调试?有更好的方法。拖动这个黄色的语句标识到你想下一步执行的语句前就可以了。比如你刚才失败的那块,然后步入。简单,不是吗?

4.编辑然后继续 调试一个复杂的程序,或是一个插件的时候,在一个被调用很多次的函数处发现一个错误。但是不想浪费时间停下来,重新编译然后重新调试。没问题,仅仅在该处改正代码然后继续单步就可以。VS会修正程序然后继续调试不需要重启

注意,编辑然后继续有大量的已知限制,首先,64位代码是不行的。如果他如果为你的C#程序工作。就去工程设置的生成选项,然后目标平台为x86.不要担心。发布版的目标平台和调试的时候是分开的。可以被设置为任何平台。。

第二.编辑然后继续改变在一个方法里应该是局部的。。如果你改变了方法签名,添加一些新方法或是类。你就不得不重启程序了。或者撤销改变来继续。改变方法也包含lambda表达式隐式修改的自动生成的代理类,因此也不能继续。

5.方便的监视窗口 大概现代的调试器都有一个监视窗口,无论如何。VS允许你简单的添加或移除变量。单击空行,输入你的表达式按下回车,或者是在不需要的表达式上按下Delete键就可以删除了。 而且。从监视窗口你不仅仅可以看到“正常”的变量。你可以输入$handles 来追踪你的程序打开了多少句柄(可以方便的修复内存泄漏) ,输入$err 可以看到上一个函数的错误码,然后使用工具-错误信息可以看到更详细的描述,或者输入@eax(64位是@rax)来查看包含函数返回值的寄存器。

6.带注释的反汇编 使用交互式的反汇编模式可以使得优化程序的关键部分变得很容易,VS给出对应你代码每一行的汇编指令,并且运行单步运行。同时,可以在任何位置设置断点。而且,表达式的查看和修改也像在C++代码里一样

7.带有栈的线程窗口 调试多线程的程序是痛苦的。。或者也可以是很有趣的。取决于你的调试器。VS2010真正优美的特性是线程窗口的栈视图,通过窗口的调用栈你可以方便的总览线程。

8.条件断点 如果你尝试通过断点再现一个罕见的事件,该情况引发了一些严重的错误。你可以添加条件断点。定义一个断点的条件,然后如果条件不成立,VS会忽略该断点

9.内存窗口 有些bug由不正确的结构体定义引起,忽略的对齐属性等等。查看内存中的内容可以定位然后修复bug。VS提供了一个放百年的内存窗口,可以把值以8/16/32/64位的形式展示。还有浮点值。也允许实时改变他们。就像在文本编辑器里一样。

10.转到定义 这个特性不是直接关于调试的,而是关于浏览大项目的。如果你尝试找到一些不是你自己写的代码中的错误,快速知道“这个类型是什么”或者“这个函数是干嘛的”,可以节省很多时间,VS通过一个转到定义命令方便了你。

11.命令窗口 第十一的技巧chaau已经建议过了。确实可以节省很多时间,VS支持命令窗口,可以通过,视图-其他窗口-命令窗口来启动。一旦激活,你可以输入不同的命令来自动化调试。举个例子。你可以通过如下命令 简单的模拟MFC COleDateTime 变量。

1

?

dt

.

Format

(

"%Y-%m-%d %H:%M:%S"

)

许可 本文包括源代码和文件在CPOL下授权

----------------------------------------------------------------------------------------------------------------------------------------

[原文发表地址]:Debugging Tips with Visual Studio 2010

[原文发表时间]:2010/8/19 10:48 AM

今天的博文包含了一些有用的能用于VS的调试技巧。 我的朋友Scott Cate(他写了很多很好的关于VS使用技巧和窍门的博客)最近向我强调了这些很好的技巧,大部分使用VS的开发人员好像不知道这些技巧(即使他们大部分都在产品开发组呆过一阵子)。 如果你还没有使用过这些技巧,希望这篇博文能帮你发现它们。 它们学起来很容易,能帮你节省很多时间。

运行到光标(Ctrl+ F10)

我经常看见人们是这样来调试应用程序的: 他们在应用程序需要调试的代码前设置一个断点,然后反复的敲F10/F11来逐步通过代码,直到到达他们真正想要研究的确切位置。有些时候他们需要仔细观察所跨过的每行代码,这样使用F10/F11 就很合理。 但是更普遍的是,他们只想快点进入他们真正关心的那行代码——这是使用F10/F11 就不是最好的选择了。

相反, 你可能想利用调试器支持的特性“运行到光标”。 只需简单地把你的光标放在代码中你想程序运行到的那一行,然后同时敲Ctrl+F10。这样程序就会运行到光标所在的那一行, 然后执行中止,由调试器控制——这样就节约了你反复敲击F10/F11到达那里的时间。即使你想运行到的那行代码不在当前调试的方法或类里,而是在一个独立的方法或类里,这也同样奏效。

条件断点

我们经常在可用性学习中见到另一个普遍的技巧:开发人员设置断点,运行程序,试着输入一些数据,当到达一个断点时,手工检查某种条件是不是成立,如果成立才决定进一步研究。 如果条件不符合他们想要的, 按F5继续执行程序,尝试另外一些输入,再手工重复同样的过程。

VS的条件断点功能提供了一个更加容易的方法来处理以上情况。 条件断点允许你只在某种明确指定的条件成立时才中止执行,由调试器控制。这帮你免于手动检查/恢复你的程序, 使得整个调试过程免去许多手工活,也不那么冗长乏味。

设置一个条件断点

设置一个条件断点十分简单,在代码里按F9为某一行设置一个断点:

然后右击断点——编辑器左边的红色圆圈,在右键菜单中,选择“条件…” :

将弹出以下对话框, 允许你指明某种条件,只有当这种条件成立时,断点才能达到。 例如:我们可以通过写下面的表达式来指明,只有当paginatedDinners列表元素的个数小于10时,才中止程序,由调试器控制。

现在, 当我重新运行程序来研究一下, 调试器只在这个查找返回值小于10时,才中止程序执行。 如果返回值不小于10 ,将不会触发断点。

命中次数功能

有时你只想在条件第N次成立时中止执行。例如:仅当第5次出现查找返回值小于10时,才中止执行。你这样启用这个功能:右击断点, 选择“命中次数…”菜单命令。

将弹出以下对话框, 允许你指明程序中断的条件:条件被第N次满足时,或者条件被满足的次数是N的倍数时,或者条件被满足的次数大于等于N次时。

机器/线程/进程筛选器

你可以右击断点,选择“筛选器…”菜单命令, 来指明断点只在某台特定的机器,或某个特定的进程或线程中才能被触发。

跟踪点——当击中断点时自定义行为

很多人不知道的一个调试功能是使用跟踪点。 跟踪点是一个断点, 当它被击中时,某种自定义的宏会被触发执行。当你想研究你的应用程序而又不想中止执行程序时, 这个功能特别有用。

我将用一个简单的控制台程序来演示如何使用跟踪点。 下面是斐波那契数列的递归实现:

在上面的应用程序中,针对特定的输入,我们使用Console.WriteLine()来输出最后的斐波那契数列。假如我们想在调试过程中研究斐波那契的递归过程——而不停止调试的执行? 跟踪点能帮我们很轻松地做到这一点。

设置跟踪点

你可以这样启用跟踪点:按F9在代码上设置一个断点, 右击断点,在右键菜单中选择“命中条件…”菜单命令:

将弹出以下对话框——允许你指定当断点触发时,进行何种操作:

如上所示,我们指定每次当断点的条件成立时,打印跟踪信息。注意我们指定了想要输出的局部变量“X” 的值作为输出信息的一部分。 局部变量能通过{变量名}的语法被引用。 也有内嵌的命令(像$CALLER,$CALLSTACK, $FUNCTION等等)可以用来输出跟踪信息中常见的值。

上面对话框的底部, 我们也选中了“继续执行”单选框——表示我们不希望调试器暂停程序。 相反,程序会继续执行——只是我们自定义的跟踪信息会在每次断点条件满足时输出,就这点不同。

现在当我们运行程序时,我们会发现自定义的跟踪信息会自动出现在VS的输出窗口中——使我们能看到程序的递归过程。

你也可以选择为你的程序设置一个自定义跟踪监听器——这样跟踪点的输出信息就会被重定向到它里面,而不是VS的输出窗口里。

跟踪点——运行自定义的宏

上周我在伦敦做了一次演讲, 听众中有个人问了这样一个问题:有没有可能当击中一个跟踪点时,自动输出所有的局部变量。

这个功能不是内置在VS中的, 但是可以通过在VS中写一个自定义的宏来启用它,然后设置一个跟踪点,当它被击中时,调用这个宏。 为了实现这个目的, 打开VS中的宏窗口(工具->宏->宏菜单命令)。然后在项目管理器“MyMacros”结点下面, 选择模板或者新建一个模板(如:添加一个名为“UsefulThings”的 模板), 再将下面的VB宏代码贴到模板里,并保存它:

Sub DumpLocals()

Dim outputWindow As EnvDTE.OutputWindow

??????? outputWindow = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput).Object

Dim currentStackFrame As EnvDTE.StackFrame

??????? currentStackFrame = DTE.Debugger.CurrentStackFrame

??????? outputWindow.ActivePane.OutputString("*Dumping Local Variables*" + vbCrLf)

For Each exp As EnvDTE.Expression In currentStackFrame.Locals

??????????? outputWindow.ActivePane.OutputString(www.introzo.com + " = " + exp.Value.ToString() + vbCrLf)

Next

End Sub

上面的宏代码依次检测当前堆栈,获取所有的局部变量,并将其显示在输出窗口。

使用DumpLocals自定义宏

在下面这个简单的应用程序中,我们可以利用自定义的“DumpLocals”宏:

在上面的Add方法的return语句上,按F9设置一个断点。 右击断点,选择“命中条件…”菜单命令:

将弹出以下对话框,上例中,我们选中了“打印信息”的单选框,再手工指定希望输出的变量, 而这里, 我们选中“运行宏”的单选框,使它指向我们创建的自定义宏UsefulThings.DumpLocals:

我们仍然选中“继续执行”单选框,这样能保证当跟踪点被击中时,程序依然能够继续执行。

运行程序

现在当我们按F5运行程序,当调用Add方法时,我们将看见以下输出出现在VS输出窗口中。 注意当跟踪点被击中时,宏是如何自动列出各个变量名及其值的。

总结

VS调试器功能非常丰富。 我强烈建议大家抽出一些时间来学习它的所有功能。 以上的技巧和诀窍只是很多大家没有真正意识到的功能中的一小部分。

我之前写过其他一些关于VS2010调试器改进的博客(包括数据标签固定,断点导入导出,保留最后值变量, 等等)。 我将发表更多关于VS2010的智能跟踪和转储文件调试支持的博文。这些技术提供了很多非常酷的新功能,会让程序(包括产品中的程序)的调试变得非常简单和强大。

也请务必看看Scott Cate很棒的VS2010技巧和诀窍系列,你可以学习如何更好的利用VS。他有一些非常棒的免费视频和博客。

也要看看Jim Griesmer很棒的VS调试技巧和诀窍系列。 他有许多很好的可以利用的技巧和诀窍。

希望这能对您有所帮助。

一个vs2010的项目中包含了多个dll工程,最近由于修改,对其中的两个dll工程A、B都拷贝了一份分别命名为C、D,然后修改原始工程中的文件名和类名,以便和原来的名称相区分,防止一不小心弄错了就麻烦了

原始的是B调用A,新的当然也就是D调用C了,修改完后,C编译正常,编译D的时候出现了错误提示,如下:

1>e:\dll\bcom\bcom.h(32): error C2470: “CComMgrBin”: 看起来像函数定义,但没有参数列表;跳过明显的函数体

我修改的时候主要是把相关的文件在UltraEdit中打开,然后候其中的类和包含的文件名,这样修改方便,不用到IDE中一个一个修改。

这个错误有点奇怪,原始的都好好的,为什么就修改了文件名和类名就不行了呢?

上网上查了查,基本确定是类CComMgrBin定义的附近有错误,但看不出问题,各符号都没有修改,不可能会变成全角或者中文的,在D中修改包含的C的头文件后再编译D工程,提示找不到头文件,说明包含的头文件也是没错的。

CComMgrBin的类定义如下:

... // 包含需要的头文件

#ifdef BCOMBIN_EXPORTS

#define BCOMBIN_API __declspec(dllexport)

#else

#define BCOMlBIN_API __declspec(dllimport)

#endif

// 此类是导出的,其它模块需要调用之

class BCOMBIN_API CComMgrBin: public CMyTask

{

private:

CComMgrBin();

virtual ~CComMgrBin();

... // 其它的接口和变量

根据提示,在编译完C之后,修改

class BCOMBIN_API CComMgrBin: public CMyTask

一行如下:

class CComMgrBin: public CMyTask

即把其中的BCOMBIN_API删除掉,然后编译D,结果通过!那确定就是这个定义有问题,再仔细检查

#ifdef BCOMBIN_EXPORTS

#define BCOMBIN_API __declspec(dllexport)

#else

#define BCOMlBIN_API __declspec(dllimport)

#endif

中的else分支才发现,其中多了一个“1”,即

#define BCOMlBIN_API __declspec(dllimport)

需要删除中间的“1”,修改后如下:

#define BCOMBIN_API __declspec(dllimport)

然后恢复

class BCOMBIN_API CComMgrBin: public CMyTask再编译D通过!

原来是在手动修改 BCOMBIN_API 的时候,中间多写了一个字符1导致dllimport实际上没有被定义,所以在调用的模块中就认为是错误的了。

希望对大家有帮助

??

来源:http://www.introzo.com/gnielee/archive/2010/06/02/vs2010-features.html

??

?Visual?Studio?2010?已经发布1个多月了,个人感觉在使用过程中有些新功能确实方便了很多。在此分享一些比较实用的功能,也算是抛砖引玉欢迎大家来补充其他自己常用的功能特性。?起始页面?在近期项目列表中可以将一些正在开发或重要的项目Pin在列表中以方便下次使用。

??

?也可以右键项目名称打开项目所在文件夹。 ? ?分屏显示???????本次VS2010?使用WPF?进行了大量Shell?开发,所以软件界面功能有了重大改进。尤其要提的就是分屏编写功能,Dev不用再为频繁切换程序文件而头疼了。可以直接将程序文件拖拽出IDE窗口到其他?显示器中。这样就可以一边编写CS,一边编写XAML而且无需切换窗口标签。 ? ?高亮显示???????在编辑器中点击某个符号后IDE会自动将相同符号高亮显示。如果程序很长的话可以使用Ctrl+Shift+向下箭头?或Ctrl+Shift+向上箭头?快速浏览每一个使用该符号的地方。 ? ?缩放显示?通过Ctrl+鼠标滚轮?可以缩放代码字体大小,这个功能方便在演示过程中使用。 ? ?按使用生成代码???????这个功能好像也叫“先消费”,在编写程序过程中如果需要构造新类,程序员可以不打断思路直接使用该类,然后再重新生成这个类。这样可以提高Dev的开发效率。 ? ? ?矩形选择框???????在VS2008中可以通过Alt+鼠标左键?对代码进行选取,VS2010不仅可以选择矩形框,还可以选择零字符宽的矩形框并在其中输入内容。 ? ? ?调试数据跟踪???????在程序Debug过程中往往需要实时监控数据变化,VS2010?可以将数据Tip标签Pin在IDE窗口中随时跟踪数据变化。 ? ?在下图中随着while循环的进行,j值的变化也会随时体现在Tip标签中。 ? ?调用层次结构???????通过鼠标右键?浏览方法、属性、构造函数的调用层次结构,如果是刚接手的项目就可以用这个方法了解其相关程序结构。 ? ? ?定位搜索???????编辑(Edit)菜单中选择“Navigate?To”?或者通过Ctrl+,?打开定位搜索窗口。在搜索栏(模糊查询的功能很强)中输入查询内容,VS2010?将列出相关结果信息。 ? ?双击搜索结果可以直接转到代码所在位置。 ? ?首先感谢博客园兄弟姐妹们对上一篇《Visual?Studio?2010?实用功能总结?》的大力支持,本篇将继续为大家分享一些VS2010?的实用功能。VS2010?的功能远远不是几篇博文就能介绍完的,更何况有些功能本人也不会用到,所以我还是抛砖引玉希望大家也分享自己的使用心得。?缩略图预览???????其实这个功能在VS2010?RTM?发布前就被取消了,但我们仍然可以将其激活。首先确认Tools->Options?中“Enable?rich?client?visual?experience”?处于启动状态(如下图)。 ? ???????然后,在开始菜单(Run…)中运行以下命令,向注册表中添加ShowThumbnailsOnNavigation?项。 ??reg?ADD?HKCU\Software\Microsoft\VisualStudio\10.0\General?/v?ShowThumbnailsOnNavigation?/t?REG_DWORD?/d?1?? ?打开VS2010?项目通过Ctrl+Tab,预览已打开的项目程序。 ? ?智能感知???????在VS2010?中IntelliSense(智能感知)功能又进行了完善和加强,在我们输入一些关键字时,其搜索过滤功能并不只是将关键字作为查询项开头,而是包含查询?项所有位置。如下图所示,当输入“index”?后我们既可以看到“IndexOutOfRangeException”?又可以检索到TabIndex?项,这使得检索功能更加人性化。 ? ???????在上图中,我们定义了一个AsSoonAsPossible?的字符串变量,当输入“ASAP”?时VS2010?会根据Pascal?Casing?搜索到我们想要的变量名称。 ? ???????有时我们需要使用switch、foreach、for?等类似语法结构,在VS2010?中只需如入语法关键字,例如“foreach”,并点击两下Tab?键,VS2010?便会自动完成相应的语法结构。 ? ?以上智能感知功能可以提高开发人员的编程效率,可以让你早点回家陪GF?:) ?WPF?界面设计???????做WPF/Silverlight?的开发人员都知道,VS2010?对XAML?的界面的设计功能进行了很大改进,我们可以在VS2010?中直接拖拽设计XAML?界面布局。同时在使用?进行界面布局编辑时,可以直接在设计窗口点击鼠标右键,为?添加/删除行或列。 ? ?扩展工具???????VS2010?另一个亮点就是扩展工具管理功能,开发人员不必到处寻找第三方扩展工具,下载并安装。只需在?VS2010->Tools->Extension?Manager?中就可以找到许多第三方扩展工具,并可以直接在VS2010?中下载安装。 ? ? ? ?1、Visual?Studio配色方案。 ???????如果你想让你的编辑器换一种风格显示,你可以在工具—〉选项—〉字体和颜色中进行设置,但是最好的方式是下载?精选的这6套配色方案?。 ???????使用方法选择工具—〉导入和导出设置,然后按提示进行着设置。 ?? ?????? ?????????? ?2、代码段 ???????按下Ctrl+K+S?或?Ctrl+K+X?键会出现代码段提示。你可以选择需要的代码段按回车生成。或者直接输入代码段的快捷简写按下?TAB两次生成。例如输入:foreach,按两下?TAB会自动生成代码。可以在这里下载?C#的官方扩充代码段包。还可以在网上搜索网友编辑的代码段包。http://www.introzo.com/?是个不错的扩充。当然你可以编辑你自己的代码段。你不需要懂得描述代码段的XML语法。只需要下载这个?现成的代码段编辑工具,很高兴它是作为VS的插件提供。更高兴这个工具是开源的。要使用你下载或自己编辑的代码段,解压他们放到?我的文档\Visual?Studio?2XXX\Code?Snippets\Visual?C#目录下。或者在“工具”—〉“代码段管理器”进行导入。(我的IDE工具菜单下没有,只能按Ctrl+k+B了) ???????? ?3、扩展如果你用的不是VS2010便不能使用?VS2010->Tools->Extension?Manager的扩展管理功能。但你同样可以在Visual?Studio?库?找到1,789个扩展的项目。要想自己开发扩展,关注我的Visual?Studio?扩展编程-#0:如何开始!?系列文章(刚刚开始写),里面介绍了更多资源。 ? ?? ?4、其他更多技巧 ?????编辑HTML时的属性值引号自动插入: ? ?? ?这里设置自动排版格式,你可以定制缩进、大括号是否默认在方法括号之后,你可以下载我的?IDE所有设置方案。然后用工具—〉导入和导出设置导入它。 ?还有另一种代码段:将任意编辑器中的文本字节选定拖到工具箱,在需要的时候再拖下来。如图: ?? ?5、将"博客园精华区"加入Visual?Studio起始页 ????????如果你是一个开发人员,经常使用VS,和经常登录博客园可能喜欢这个。在你每次打开VS的时候可以方便的看到在博客园当前主页有什么文章更新。你会得到如图的效果。 ? ?? ????????要做的这一点我们只需做一下的一个简单的设置。 ????????打开?工具--选项窗口?,定位到环境--启动项,会出现下图。进行如图设置,就OK了。 ? ?只是一个小技巧,但是挺有用处。 ??附:(VS系统通用快捷键:)??? ? ?1、自动排版(类似VC6中的Alt+F8) ?编辑.格式化选定内容?Ctrl?+?K,Ctrl?+?F?根据周围的代码行,正确缩进选定的代码行。 ? ? ?2、注释与去掉注释功能。 ?编辑.注释选定内容?Ctrl?+?K,Ctrl?+?C?使用编程语言的正确注释语法将代码的当前行标记为注释。 ?编辑.取消注释选定内容?Ctrl?+?K,Ctrl?+?U?从代码的当前行中移除注释语法。 ?将插入点移动到文档中的下一个大括号处。 ?编辑.转到大括号?Ctrl?+?]?将插入点移动到文档中的下一个大括号处。 ?编辑.向下滚动一行?Ctrl?+?向下键?将文本向下滚动一行。仅可用于文本编辑器。 ?编辑.向上滚动一行?Ctrl?+?向上键?将文本向上滚动一行。仅可用于文本编辑器。 ? ? ?3.怎么找到解决方案 ?视图.解决方案资源管理器?Ctrl?+?Alt?+?L?显示解决方案资源管理器,它列出当前解决方案中的项目和文件 ? ? ?4.显示“工具箱” ?视图.工具箱?Ctrl?+?Alt?+?X?显示“工具箱”,其中包含可包括在代码中或与代码一起使用的控件和其他项。 ? ? ?5.清除项目中的所有断点 ?调试.删除所有断点?Ctrl?+?Shift?+?F9?清除项目中的所有断点。 ? ? ?调试.反汇编?Ctrl?+?Alt?+?D?显示“反汇编”窗口。 ?调试.切换断点?F9?在当前行设置或移除断点。 ?*********************************************** ?VS2008?快捷键 ?新建项目?Ctrl+shift+N ?新建网站?shift+Alt+N ?文件?Ctrl+N ?打开项目/解决方案?Ctrl+shift+O ?打开网站?shift+Alt+O ?打开文件?Ctrl+O ?保存当前文件?Ctrl+S ?全部保存?Ctrl+Shift+S ?添加新项?Ctrl+Shift+A ?添加现有项?Shift+Alt+A ?添加类?Shift+Alt+C ?撤消?Ctrl+Z ?重复?Ctrl+Y ?转到?Ctrl+G ?循环应用剪贴板中的复制项Ctrl+Shift+V ?设置文档的格式?Ctrl+E,D ?设置选定内容的格式Ctrl+E,F ?转换为大写?Ctrl+Shift+U ?转换为小写?Ctrl+U ?删除水平空白Ctrl+E,\ ?查看空白Ctrl+E,S ?自动换行Ctrl+E,W ?渐进式搜索Ctrl+I ?注释选定内容Ctrl+E,C ?取消注释选定内容Ctrl+E,U ?快速查找?Ctrl+F ?快速替换?Ctrl+H ?在文件中查找?Ctrl+Shift+F ?查找下一个?F3 ?查找上一个?Shift+F3 ?在文件中替换?Ctrl+Shift+H ?查找符号?Alt+F12 ?切换书签?Ctrl+B,T ?启用书签?Ctrl+B,E ?上一书签?Ctrl+B,P ?下一书签?Ctrl+B,N ?清除书签?Ctrl+B,C ?添加任务列表快捷方式Ctrl+E,T ?切换大纲显示展开Ctrl+M,M ?切换所有大纲显示Ctrl+M,L ?停止大纲显示?Ctrl+M,P ?折叠到定义?Ctrl+M,O ?生产方法存根?Ctrl+K,M ?列出成员?Ctrl+K,L ?参数信息?Ctrl+K,P ?快速信息?Ctrl+K,I ?完成单词?Ctrl+K,W ?插入代码段?Ctrl+K,X ?外侧代码?Ctrl+K,S ?代码?F7 ?设计器?Shift+F7 ?服务器资源管理器?Ctrl+W,L ?解决方案资源管理器?Ctrl+W,S ?类视图?Ctrl+W,c ?代码定义窗口Ctrl+W,D ?对象浏览器?Ctrl+W,J ?错误列表?Ctrl+W,E ?输出?Ctrl+W,O ?属性窗口?Ctrl+W,P ?任务列表?Ctrl+W,T ?工具箱?Ctrl+W,X ?全屏显示shift+Alt+Enter ?向后定位?Ctrl+- ?向前定位?Ctrl+Shift+- ?属性页?Shift+F4 ?查找符号结果?Ctrl+W,Q ?书签窗口?Ctrl+W,B ?命令窗口?Ctrl+W,A ?文档大纲?Ctrl+W,U ?资源视图?Ctrl+W,R ?宏资源管理器?Alt+F8 ?Web浏览器?Ctrl+W,W ?重命名?F2 ?提取方法?Ctrl+R,M ?封装字段?Ctrl+R,E ?提取接口?Ctrl+R,I ?将局部变量提升为参数?Ctrl+R,P ?移除参数?Ctrl+R,V ?重新排列参数?Ctrl+R,O ?生成解决方案?F6 ?生成当前项目?Shift+F6 ?启动调试?F5 ?继续?F5 ?全部中断?Ctrl+Alt+Break ?停止调试?Shift+F5 ?重新启动?Ctrl+Shift+F5 ?开始执行(不调试)Ctrl+F5 ?异常?Ctrl+D,E ?逐语句?F11 ?跳出?Shift+F11 ?逐过程?F10 ?切换断点?F9 ?删除所有断点?Ctrl+Shift+F9 ?断点?Ctrl+D,B ?即时?Ctrl+D,I ?快速监视?Ctrl+D,Q ?监视1?Ctrl+D,W ?监视2?Ctrl+D+W,2 ?监视3?Ctrl+D+W,3 ?监视4?Ctrl+D+W,4 ?自动窗口Ctrl+D,A ?局部变量?Ctrl+D,L ?调用堆栈?Ctrl+D,C ?线程?Ctrl+D,T ?切换当前线程标志状态?Ctrl+8 ?仅显示标志的线程?Ctrl+9 ?模块?Ctrl+D,M ?进程?Ctrl+D,P ?反编译?Ctrl+Alt+D ?寄存器?Ctrl+D,R ?内存1?Ctrl+D,Y ?内存2?Ctrl+Alt+M,2 ?内存3?Ctrl+Alt+M,3 ?内存4?Ctrl+Alt+M,4 ?附加到进程?Ctrl+Alt+P ?代码段管理器?Ctrl+K,Ctrl+B ?运行当前宏?Ctrl+Shift+P ?记录当前宏?Ctrl+Shift+R ?宏IDE?Alt+F11 ?当前上下文中的测试?Ctrl+R,T ?解决方案中的所有测试Ctrl+R,A ?如何实现?Ctrl+F1,H ?搜索?Ctrl+F1,S ?目录?Ctrl+F1,C ?索引?Ctrl+F1,I ?帮助收藏夹?Ctrl+F1,F ?动态帮助?Ctrl+F1,D ?索引结果?Ctrl+F1,T????

0条大神的评论

发表评论

关灯