【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 3327|回复: 0

[算法/加密解密] 展现TRACE之威力

[复制链接]
发表于 2006-8-25 14:05:20 | 显示全部楼层 |阅读模式
者:佚名 文章来源:不详 点击数: 更新时间:2005-10-5 ..中国站长在线,站长词典,想你所想,搜你所搜。...

最近在做一个小工程,由于中间的算法比较繁琐,也非常杂乱,哪一个环节出了差错,全盘皆乱,特别希望在需要的地方输出一个监视值,以监视中间的算法执行情况,首先想到了设断点调试,但是每次都是在不断中断程序的情况下,非常不方便,试了一下TRACE,但是也必须在DEBUG调试模式下进行,感觉非常痛苦。偶一日,翻看候sir的深入浅出MFC,在附录里提供了一个以MFC重建DBWIN的详细解说,顿时欣喜若狂,仔细研读,里面提供了很多方法,但是我还是喜欢DBWIN这个工具,God,真是救我于水火阿,DBWIN这个程序已经给我们提供了,就在MSDN中,可以轻松获得,呵呵,这个可是鼎鼎大名的Paul DiLascia做出来的,不用怀疑它的功能,但是每次要使用这个工具的时候都必须修改源代码,确实比较麻烦,而且,还要注意调用初始化程序的位置,觉得有点不爽,稍微看了一下要求包含的一个头文件,和所要调用的初始化程序,心里盘算着能不能在生成DEBUG程序的情况下自己添加呢,初始化必须最先调用,对,构造一个全局对象,于是自己写了一个类,把初始化程序放在全局对象的构造函数中,源程序如下:

//MyTrace.h

#ifndef __MYTRACE_H__

#define __MYTRACE_H__

#ifdef _DEBUG

#include<tracewin.h>

class MyTrace

{

public:

MyTrace()

{

::MfxTraceInit();

}

~MyTrace(){}

};

MyTrace _mytrace;

#endif //_DEBUG

#endif //__MYRTACE_H__

把这个文件和<tracewin.h>这两个文件放在了默认包含目录下,如果要使用DBWIN的时候只要把mytrace.h这个文件包含在你的程序里面就行了,最好是包含在构建theApp的那个文件中,这样可以监视你程序中想要监视的所有过程,哇,确实方便了许多。打开DBWIN窗口,你所加入的TRACE字符串清清楚楚的出现在监视窗口,你甚至不用开VC环境,自己运行你所生成的DEBUG程序,这样如果你要同时调试几个程序,如关系到程序间的通讯的,非常方便,看得也非常痛快。

但是每次还要包含一个头文件,还是有点麻烦,可否把这个文件内嵌到AfxWin的头文件中呢,因为要编写MFC程序,这个头文件是必须包含的,赶紧try一下,不对,出现错误了,好像是出现重复定义,但是这个头文件已经使用预编译指令保证了不出现重复定义了阿,查看有关资料关于这个连接错误,哦,好像是由于VC的一些关系引起的,但是努力了好长时间还是没法解决,贴出这篇文章想请教各位大虾,也许你们对于TRACE有更好的方法,望赐教,对于我所出现的错误你们有更好的解决方法,也望告知,感激不尽。这里留下我的Mail,dyroro@163.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-2-6 03:52

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表