今天写程序突然想起有个debugview工具没用过(小菜鸟)  下载了一个并使用了一下挺好。。

设置很简单将debugview执行文件放在下边的目录下

D:\Program Files\Microsoft Visual Studio\Common\Tools

然后打开vc   一次选择工具– 定制 然后 自己参照上边已有工具添加以下路径  即可。

同理也可以放入任何一个应用程序。快捷方式路径即可比如QQ其路径:  D:\Program Files\Tencent\QQ\Bin\QQ.exe

这样在vc6里也可以启动QQ了嘿嘿小伎俩。

 安装完成后下面介绍它的简单用法.结合TRACE宏

TRACE

TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;

使用格式如下:

TRACE("%d",123);        TRACE0,TRACE1,TRACE2。。。分别对应0,1,2。。个参数 例TRACE( "x = %d and y = %d\n", x, y );

TRACE信息输出到VC IDE环境的输出窗口(该窗口是你编译项目出错提示的那个窗口)

但仅限于你在VC中调试(F5)自己的程序并在输出窗口的调试选项卡里看默认的是组建(注意)

TRACE信息还可以使用DEBUGVIEW来捕获到。这种情况下,你可以在VC的IDE环境中运行你的程序,

也可以将BUILD好的DEBUG版本的程序单独运行,这个时候在DEBUGVIEW的窗口看到DEBUGVIE格式的输出了。

  

TRACE宏与Printf函数,均可以使程序在运行过程中输出一些信息,使我们能了解程序的一些状态。但有一点不同的是:

TRACE宏只有在调试状态下才有所输出,而Printf函数在任何情况下都有输出。和Printf函数一样,TRACE函数可以接受多个参数

 需要的头文件自己添加例如Debug.h 代码如下:

#ifndef __DEBUG_H__

#define __DEBUG_H__

 #ifdef _DEBUG

void _trace(char *fmt, ...);

 #define ASSERT(x) {if(!(x)) _asm{int 0x03}}

#define VERIFY(x) {if(!(x)) _asm{int 0x03}} //译注:为调试版本时产生中断有效

 

#else

#define ASSERT(x)

#define VERIFY(x) x //译注:为发行版本时不产生中断

#endif

 

#ifdef _DEBUG

#define TRACE _trace

 

#else

inline void _trace(LPCTSTR fmt, ...) { }

#define TRACE 1 ? (void)0 : _trace

#endif

#endif // __DEBUG_H__

Debug的源文件Debug.cpp 代码如下:

#ifdef _DEBUG

#include <stdio.h>

#include <stdarg.h>

#include <windows.h>

 

void _trace(char *fmt, ...)

{

       char out[1024];

       va_list body;

       va_start(body, fmt);

       vsprintf(out, fmt, body); //译注:格式化输入的字符串fmtt

       va_end(body); //到输出字符串ou

       OutputDebugString(out); //译注:输出格式化后的字符串到调试器

}

#endif  

 该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调试也在RELEASE的时候减少代码量。