现在的位置: 首页 > 综合 > 正文

【简单教程】如何使用VS2012 设置断点

2018年02月19日 ⁄ 综合 ⁄ 共 1228字 ⁄ 字号 评论关闭

鉴于同学们的调试问题太多,

而使用断点调试的太少(大部分还在使用cout 吧……),

于是随手写一篇断点教程,

希望能对大家有所帮助。


注意:

本篇教程为入门级,

时间宝贵,

进阶者请自行斟酌。


IDE环境:VS2012

语言:C++


1.首先请大家先将行数的显示开关打开。

位置在:工具->选项->文本编辑器->C++ ->常规 ->勾选"行号"


2.接下来来讲一下断点的概念:

所谓的断点(BreakPoint),

即是在开发者在调试过程中设置的"程序中断点",

当程序在运行到此行的时候会中断,

并显示相关数据,

以供开发者参考查错。


一般的新手喜欢看输出控制台,

因为大部分讲师就是这样做的,

这也没错,

但是如果数据量比较大、

或是变量之间的相关度紧密,

难以从较少变量中发现问题的时候,

控制台输出就有点力不从心了。


而从某种意义上来讲,

断点的存在就是将输出控制台过程显式化,自动化,

从而让开发者更加便捷地调试。

因此断点调试是程序员的必备技能之一。


3.添加断点

在VS中添加断点非常简单,

只需要在行号的左侧空白处点击即可,

如下图所示:



4.查看断点相关数据

然后点击运行,

当程序运行到断点所在行时会停止,

如下图所示:



在下方的自动窗口就可以看到断点所在作用域的相关数据显示了。


5.解读断点数据。

如上图所示,

红色的显示为发生变化的变量,

而黑色则是没有变化的。

我们可以看到,

在i = 0的时候,

左值todayData的地址为0x58ff3e4,

其存储数组为{0,0,0,0}


6.逐过程调试

接下来我们点击窗口上方的"逐过程"按钮



再次运行到断点处停止,

此时信息显示如下:



可以看到,

这次i = 1,

而此时todayData已经恢复成黑色,

其目前存储的数组为{32,0,0,0},

数据的变化简单而直观,

非常明显。


7.完毕

怎样,

是否非常简单?

其实有时候只需要学习一种小技巧,

就能极大地提高编程效率,

多尝试一些新东西,

或许就能发现一片更广阔的天空。


其实关于断点还有更多的知识,

例如点击次数断点,筛选器断点,条件断点…都是非常有用的,

但限于本文目的,

笔者不再详细解释。

如果大家有兴趣,

可以搜索一下,

学习深入一些,

相信调试效率将会得到进一步的提升。


8.Q&A

【请问为什么我的程序没有停下来?】

首先,请仔细检查是否禁用断点(显示为空圆框),

然后,一定要确定程序会执行到所在行。

其实还有可能是调试符号文件没有被正确加载,

但这个就比较"深奥"了,

大家遇见几率应该不会太高。


【是否可以设置多个断点?】

当然可以,

而且鼓励大家这样做,

配合条件/点击次数断点使用,

是非常方便的。


【我有一个断点,目前不需要,但是以后会用到,怎么办?】

在断点上点击右键,

设置为禁用就OK了。


【可以管理断点么?】

VS中可以右键断点,

点击"编辑标签"即可。

还可以导出哦。


【关于断点,还有什么秘籍吗?】

如果将上述进阶断点研究完毕的话,

还有一个终极秘籍,

只限于VS中才有的哦。


那就是"代码图"!!!

这是VS中(单机编程)最强大的工具之一!!

具体怎么用,

请自行Google~

哈哈。

抱歉!评论已关闭.