MFC中调试过程中查看输出信息

 在调试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函数的打印信息

阅读更多
文章标签: mfc output fp null file
个人分类: 方法概述
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭