MFC打印调试信息方法
2014-07-24 20:16
218 查看
在调试MFC程序时,我们经常需要查看特定位置变量的输出值。或者在某特定条件执行时,给出一个输出标识。
一般来说,有3种方法:
1) 调用TRACE(LPCTSTR lpszFormat, ...)函数
在MFC中使用TRACE函数来打印输出结果却是非常方便,和在控制台程序中使用printf函数的使用方法和效果类似。不过有几点
需要注意:一,TRACE函数的输出是在Output窗口的Debug选项下; 二,只有在DEBUG版本调试时才会有输出,如果是在
Release版本调试或者运行程序时,将不会看到输出。
2)使用AfxMessageBox( )函数来输出信息
这个函数在调试时也比较常用,使用方法简单,此处就不做介绍。
3)将标准输出定向到自己创建的控制台(推荐)
#include "io.h"
#include "fcntl.h"
void InitConsole()
{
int nRet= 0;
FILE* fp;
AllocConsole();
nRet= _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
fp = _fdopen(nRet, "w");
*stdout = *fp;
setvbuf(stdout, NULL, _IONBF, 0);
}
将此函数在MFC程序初始化的地方调用,即可使用控制台查看printf函数的打印信息
一般来说,有3种方法:
1) 调用TRACE(LPCTSTR lpszFormat, ...)函数
在MFC中使用TRACE函数来打印输出结果却是非常方便,和在控制台程序中使用printf函数的使用方法和效果类似。不过有几点
需要注意:一,TRACE函数的输出是在Output窗口的Debug选项下; 二,只有在DEBUG版本调试时才会有输出,如果是在
Release版本调试或者运行程序时,将不会看到输出。
2)使用AfxMessageBox( )函数来输出信息
这个函数在调试时也比较常用,使用方法简单,此处就不做介绍。
3)将标准输出定向到自己创建的控制台(推荐)
#include "io.h"
#include "fcntl.h"
void InitConsole()
{
int nRet= 0;
FILE* fp;
AllocConsole();
nRet= _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
fp = _fdopen(nRet, "w");
*stdout = *fp;
setvbuf(stdout, NULL, _IONBF, 0);
}
将此函数在MFC程序初始化的地方调用,即可使用控制台查看printf函数的打印信息
相关文章推荐
- python打印log调试信息的方法
- 内核模块打印调试信息方法
- MFC 打印调试的三种方法
- MFC利用控制台输出调试信息的方法
- Linux 程序开发打印 Debug 信息的使用技巧--C语言中几种输出调试信息的方法
- MFC的打印调试方法
- vc6.0或者vs2008 MFC程序采用console输出调试信息的方法
- Android Studio真机调试时不打印Log信息的解决方法
- DebugView 在Vista及Win7下打印kernel mode调试信息的方法
- Struts2框架调试时,控制台打印输出大量<mime-mapping>相关信息,解决方法
- 调试MTK mmi程序时通过debug口打印调试信息的方法
- Linux 程序开发打印 Debug 信息的使用技巧--C语言中几种输出调试信息的方法
- Struts2框架调试时,控制台打印输出大量<mime-mapping>相关信息,解决方法
- 函数调试用函数printk打印内核信息的方法
- MFC程序中打印调试信息
- MFC利用控制台输出调试信息的方法
- MFC调试DOS窗口打印调试信息
- MFC中使用控制台窗口打印调试信息
- Android打印调试信息几种方法===>Log
- DebugView 在Vista及Win7下打印kernel mode调试信息的方法