您可以在这里快速查找:


 
您的位置: 编程学习 > C++/VC > 200602
文章分类

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02

Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

VB编程
2006: 02

Asp编程
2005: 11 12
2006: 01 02

C++/VC
2005: 10 11 12
2006: 01 02

Delphi
2005: 12
2006: 01 02

其它

 本文章适合所有读者

开一新窗口监视TRACE的工具,Release版本也可以TRACE

medie

  经常在程序的Release版本发现BUG,但Debug版本又查不到,或者是在没有安装开发环境的PC上才能重现该BUG,此时很想看看程序执行过程中的数据情况,于是笔者就想写个程序,能够在Release版本和未装开发环境的情况下也可以使用TRACE的程序,现已完成,且经过很多朋友的使用测试,再此感谢他们的支持与帮助,并祝大家新年快乐!
  使用时执行xTraceMonitor.exe,会出现一个小窗口(用于显示数据用),需要将TRACE输出到该监视窗口的程序,请在文件头部使用 #include "xTrace.h",然后将代码中的TRACE修改为XTRACE即可,如果包含了该头文件,控制台程序中也可以使用TRACE宏,而且是输出到VC调试环境的Output窗口中。 为了演示位图的TRACE,特提供一个设备无关位图类CSimpleDib,在文件SimpleDib.h中定义,可以从Bitmap文件中加载位图,也可以从资源中加载。
  如果在发行程序时,想去掉这些附加的代码,无须删除XTRACE和#include "xTrace.h"语句,只需要在工程设置中定义NO_XTRACE
宏即可,这样xTrace.h文件则犹如一个空文件一般,可执行程序中便没有任何附加代码了。
  详细说明请参考xTrace.htm文件。

使用示例代码如下:

#include "stdafx.h"

#include "xTrace.h"

#include "SimpleDib.h"

 

#include "resource.h"

 

int _tmain(int argc, _TCHAR* argv[])

{

       XTRACE("%s\n", "Hello!"); // 输出文字"Hello!"

       XTRACE(RGB(255, 0, 0), "%s\n", "RED Text.");  // 输出红色文字

       XTRACE(RGB(0, 0, 255), "%s\n", "BLUE Text."); // 输出蓝色文字

 

       CSimpleDib dib;

       dib.Load(IDB_BITMAP_TEST);

       XTRACE(dib.GetBitmapInfo(), dib.GetBits());   // 输出DIB位图

      

       return 0;

}

第一次使用时请首先执行xTraceMonitor.exe,然后执行需要监视输出的程序,以后则无此要求。

下载示例源码:http://www.yanghan.net/codes/XTraceDemo.rar(内附xTraceMonitor.exe、xTrace.htm、SimpleDib.h)。