跟踪与中间过程输出

琴的宝贝晨

琴的宝贝晨

2016-02-19 12:15

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享跟踪与中间过程输出教程,希望对大家能有一点小小的帮助。

 

也许一个开发人员一半以上的时间都是在面对错误,所以好的调试/查错方法(工具)会减轻我们工作的负担,也可以让枯燥的DEBUG过程得以缩短。

VC开发环境所提供的调试环境是很优秀的,我们可以运用单步运行,设置断点的方法来查找问题所在。但是这种跟踪是非常耗时的,所以我们需要采用一些策略来让我们更容易的发现错误并对错误进行定位,所幸的是VC在这方面提供了强大的支持。在本节中我们先看看如何利用设置断点和利用TRACE宏来输出运行情况。

在VC开发环境中按下F9就可以在光标所在行设置断点,再按一次就可以取消该处断点。设置断点的意义在于在调试过程当运行到该行时回产生一个中断并返回到VC开发环境中,在开发环境中你可以查看各个变量的值。下面是我们用于测试的代码,前面有红色圆形的行表示该行设置有断点:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

一般来讲设置断点有下面的技巧:

设置在进行判断的代码处,这样可以在运行时可以观察判断所依赖的条件是否正确。 设置函数开始处,观察该函数所依赖的变量是否都设置正确。 设置函数结束处,观察该函数对变量的改变是否正确。 设置进入其他函数前/后,通过黑盒法检查该函数功能是否正确。 对于循环体,应该先测试一个循环次数小的条件来检查循环逻辑是否正确,或者在循环的前几次设置断点,在运行几次后取消断点。

在调试过程中到达断点处你可以通过上下文变量窗口(Variables)观察该函数中的变量的值,如果需要观察未在该函数出现的全局变量或者类成员变量这需要将变量名添加到观察窗口(Watch)中输入变量名称。但程序编译完成后请按下F5键以调试的方式执行程序,当进入断点时VC开发环境会被自动激活,然后我们可以可以观察程序的运行情况。在调试过程中也可以添加和删除断点。如下图:

如果在运行过程中被观察的变量的值发生了变化则该变量在观察窗中会变为红色。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

MFC中提供的TRACE宏可以帮助我们在程序调试运行过程中方便的输出调试信息。TRACE宏的定义为:TRACE(exp),其中的表达式使用与printf相同的表达方法。例如下面的代码:

void CSam_sp_31Dlg::OnTest2()
{
         static int i=5,j=50;
         char szDeb[]="debug string";
         TRACE("trace i=%d j=%dstring=%s",i,j,s      
展开更多 50%)
分享

猜你喜欢

跟踪与中间过程输出

编程语言 网络编程
跟踪与中间过程输出

MySQL 有输入输出参数的存储过程实例

编程语言 网络编程
MySQL 有输入输出参数的存储过程实例

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

存储过程入门与提高

SQLServer
存储过程入门与提高

中间构图技巧

摄影 人像摄影 静物摄影
中间构图技巧

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

基于排列与组合输出多少中情况详解

编程语言 网络编程
基于排列与组合输出多少中情况详解

Oracle数据库PL/SQL过程调试的输出方法

编程语言 网络编程
Oracle数据库PL/SQL过程调试的输出方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

datagridcolumnstyle重写,实现插入不同控件列体验

datagridcolumnstyle重写,实现插入不同控件列体验

第十一节 重载 [11]

第十一节 重载 [11]
下拉加载更多内容 ↓