debugview 调试

vc++ 6.0 和Visual Studio * 在debug调试(F5)状态下都可以使用trace命令输出响应的调试信息。

然而在debug运行(Ctrl+F5)状态下或者Release状态下trace命令是无效的。

这个时候可以使用debugview.exe 查看trace或者OutputDebugString命令的输出结果。

VC中TRACE的用法有以下四种: 
1: 
TRACE ,就是不带动态参数输出字符串, 类似C的printf("输出字符串"); 
2: 
TRACE 中的字符串可以带一个参数输出 , 类似C的printf("...%d",变量); 
3: 
TRACE 可以带两个参数输出,类似C的printf("...%d...%f",变量1,变量2); 
4: 
TRACE 可以带三个参数输出,类似C的printf("...%d,%d,%d",变量1,变量2,变量3); 

TRACE 宏只有在调试状态下才有所输出,而以前用的Printf 函数在任何情况下都有输出。

<转自>http://blog.163.com/gou_ya/blog/static/102080580200810274839532/

1、用debugview,打开debugview,运行你的debug版本程序,可以定位到源文件的某一行。 
2、包含stdlib.h crtdbg.h 两个头文件 
在程序开始处添加 #define _CRTDBG_MAP_ALLOC 
在程序结束处添加 _CrtDumpMemoryLeaks(); 
比如 
#define _CRTDBG_MAP_ALLOC 
int main(void) 

char *p = new char; 
return 0; 
_CrtDumpMemoryLeaks(); 

运行debug版本的程序。在输出信息栏里会有内存泄露信息,可以定位到某一行

posted @ 2013-01-08 18:01  水上云天  阅读(610)  评论(0编辑  收藏  举报