VS2013基于MFC的CMD调试窗口

很多编程的朋友在用VS编程MFC文件是都会遇到一个问题:出错了,但不知道错哪里。光靠系统提示的消息很多时候都不能锁定错误的地方,而使用断点调试的方法,工程量大,而且存在一定的盲目性。在这里,我给大家分享一个相对来说比较方便的方法:

 在MFC对话框程序中引入CMD控制台调试窗口,方法如下:

第一步:在stdafx.h头文件中导入编写CMD控制台调试窗口所需要的头文件,如下:

#include <io.h>//printf调试信息
#include <fcntl.h>
#include <stdio.h>


第二部:在***Dlg.cpp文件中定义printf调试窗口函数

void InitConsoleWindow()//printf调试窗口
{
	int nCrt = 0;
	FILE* fp;
	AllocConsole();
	nCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
	fp = _fdopen(nCrt, "w");
	*stdout = *fp;
	setvbuf(stdout, NULL, _IONBF, 0);
}


第三步:在***Dlg.cpp的OnInitDialog()方法中初始化CMD控制台调试窗口程序

InitConsoleWindow(); //初始化CMD控制台调试窗口


至此,我们已经完成了在MFC工程中引入CMD控制台调试窗口的工作,接下来,我们可以在任何位置写一个printf函数来监测程序运行到哪一步了

例如,我写了一下一条语句:

printf("测试 Test ABC 123 str   =   %s\r\n", "debug");


运行结果如下图:



谢谢大家的细心看查与精心指导!

猜你喜欢

转载自blog.csdn.net/ifreewolf_csdn/article/details/52244709