经常在程序的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[])
{