当前位置:职场发展 > vs2010断电后需要编辑_非正常关机后重新启动VS2010,以恢复修改后的文件出现乱码或空白时

vs2010断电后需要编辑_非正常关机后重新启动VS2010,以恢复修改后的文件出现乱码或空白时

  • 发布:2023-10-02 01:56

VS2010有用的快捷键:Ctrl+r、ctrl+w、切换空格显示。

?

设置方法为:编辑->高级->查看空白。

VS2010断点调试技巧分享

??设置断点:在下图红点处设置断点。红点表示该行已设置断点。快捷键F9。

?

开始调试:按F5或点击左侧红框中的按钮。右边框是Ctrl+F5开始执行(不是调试)。

?

调试工具栏:下面是工具栏中对应的名称和快捷键。

?

调试时,F5执行到下一个断点。 F11 是逐条语句。当执行到下图中的断点时,按F11将执行斐波那契方法,并一步步记录执行过程。 F10 是逐个进程。与statement-by-statement的区别在于,当执行到下图中的断点时,重新执行会执行断点下面的语句,而不是执行语句中的方法。

?

局部变量:在调试过程中,可以查看局部变量窗口,如下图所示,该窗口会显示变量当前的状态。如果找不到,请前往

?

阵列状态表示如下:

?

InteliTrace 记录每个步骤的调试状态。

?

条件中断

开发人员设置断点,运行程序,使用不同的输入触发断点,然后在断点处手动检查是否满足某些条件,以决定是否继续调查。如果当前场景不是他们想要的,请按F5继续运行程序,尝试其他输入,并手动重复该过程。

针对上述情况,Visual Studio提供了一个更加方便的功能——“条件中断”。只有当程序满足开发者预设的条件时,条件断点才会被触发,调试器才会中断。这样就避免了频繁的手动检查/恢复程序运行情况,大大减少了调试过程中的手动繁琐工作。

如何设置条件断点:

设置条件断点非常简单。在特定行上按 F9 设置断点。

?

然后右键单击断点——编辑窗口左侧的红点,然后在上下文菜单中选择“条件”。

?

将弹出一个对话框供您设置激活断点所需的条件。例如:我们希望只有当x==5时才中断调试。我们可以写出以下表达式:

?

现在我再次运行这个程序并按F5到达条件断点。只有当x等于5时,程序执行才会被中断。对于其他条件 x 值,将跳过断点。

记录到达断点的次数

有时您只想在满足条件的第N次运行到达断点时才中断程序。例如:第一次命中断点时。这可以通过右键单击断点并在弹出菜单上选择“命中数”菜单命令来实现。

?

此时系统会弹出一个对话框,允许您指定: (1) 当满足条件且累计断点次数等于N时,命断点一次。 (2) 当满足条件且累计进入断点的次数为N的倍数时,则命中断点一次。 (3) 当满足条件且累计进入断点次数大于N时,每次都命中断点。

?

注意:如果同时使用多个条件,结果将是交集。

断点过滤器

例如,调试服务程序时,在其中设置断点。由于这是一个公共服务,您不希望访问此服务的其他程序受到设置的断点调试的干扰。你该怎么办?断点过滤器将断点限制为仅限某些进程和线程。在过滤器文本框中输入以下一个或多个子句,可以使用 &(AND)、||(OR)、!(NOT) 和括号组合这些子句来描述应设置断点的表达式,或者清除该表达式在所有进程和线程中设置断点。例如,如果我们希望断点仅在名为 xye-PC 的机器访问时触发,则可以右键单击断点来设置断点过滤器。其他机器访问该程序时不会触发断点,其他机器访问该程序时也感觉不到断点的存在。

?

跟踪点——输入断点时的自定义操作

很多人不知道“TrackPoints”调试功能。 “跟踪点”是一个特殊的断点,当被击中时,会触发一系列自定义操作。如果您想在不中断调试的情况下观察程序的行为,此功能特别有用。

我将使用一个简单的控制台程序来演示如何使用“Trace Points”。以下是斐波那契数列的递归实现:

?

在上面的程序中,我们使用 Console.WriteLine() 输出针对特定输入值生成的最终斐波那契数列。如果您想在调试器中每次递归操作后观察数组而不实际中断程序,该怎么办? “追踪点”可以轻松实现。

设置追踪点:

您可以通过在特定行上按 F9 添加跟踪点。然后右键单击断点并在上下文菜单中选择“命中条件”:

?

在弹出的对话框中可以设置断点触发时触发的事件。

?

在上面的示例中,我们设置了在命中断点后打印的跟踪信息。请注意,我们已输出局部变量“x”的值作为跟踪信息的一部分。局部变量可以通过{变量名}语法输出。还可以使用系统内置命令($CALLER、$CALLSTACK、$FUNCTION等)在跟踪信息中输出常用的调试值。

在上面的例子中,我们还选择了底部的“继续执行”选项,这意味着我们不希望程序中断调试状态,而是继续运行。唯一的区别是:每次满足断点条件时都会输出我们自定义的跟踪信息。

现在当我们运行程序时,我们会发现自定义的跟踪信息自动显示在Visual Studio的“输出”窗口中。这样我们就可以很容易的看到程序的递归调用过程:

?

您还可以选择向应用程序添加自定义跟踪信息的侦听器。此时,跟踪点的输出信息将通过它输出,而不是Visual Studio的“输出”窗口。

前天,博主遇到了一件令人兴奋的事情。笔记本电脑的电源在某个时刻被断开,导致其突然关闭。新添加的代码没有及时保存。

重启电脑后,打开VS,弹出信息询问是否恢复之前修改的文档。我以为之前用这个恢复功能没有问题,就恢复一下吧。然而,当我恢复后重新打开那些文档时,结果却是一片空白,而且打开时自动选择用记事本打开。天哪,我当时就差点惊呆了。后来我通过下面的方法恢复了。

VS异常关闭前最后一次编译的备份文档可以在以下路径找到:

打开备份文件文件夹,可以看到最近打开的项目文件夹,然后找到需要恢复的文件所在的项目文件夹。里面保存的是VS异常关闭前最后一次编译的备份文件。先打开它。文件正常吗?如果是,则修改文件名(即去掉之前的日期和时间,使其与原文件名一致),然后复制并替换项目中的异常文件!

相关文章

最新资讯

热门推荐