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

类别:VC语言 点击:0 评论:0 推荐:

  经常在程序的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)。


本文地址:http://com.8s8s.com/it/it338.htm