VS2013基于MFC的CMD调试窗口
2016-08-18 21:01
288 查看
很多编程的朋友在用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");
运行结果如下图:
谢谢大家的细心看查与精心指导!
在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");
运行结果如下图:
谢谢大家的细心看查与精心指导!
相关文章推荐
- VS2013MFC单文档工程学习笔记六 - 窗口的常用消息事件
- Win32和MFC项目如何输出调试信息到VS的调试窗口
- 基于VS2013MFC的JSON文件的写入和解析
- vs2013调试窗口一闪而过解决方法
- VS2013MFC单文档工程学习笔记七 - 创建新的一个窗口并让窗口2透明
- vs2013环境cocos2d3.x 创建调试窗口
- 基于VS2013MFC左移显示效果
- vs2013环境下mfc里添加浮动窗口并贴上对话框
- VS2013 MFC基于对话框编程(创建工程)
- VS2013/MFC基于对话框编程:[5]按钮的使用
- VS2010/VS2013 调试窗口一闪而过解决方法
- VS2013MFC单文档工程学习笔记八 - 为窗口添加一张背景图片
- VS2013/MFC基于对话框编程: [1]创建MFC工程
- VS2013 MFC基于对话框编程
- TrafficAssistSys——基于VS2013_MFC
- VS2013MFC对话框工程学习笔记五 - 了解窗口和窗口控件的属性并修改
- 未加载mfc120ud.i386.pdb:VS2013调试MFC程序解决方法
- 基于VS2013 MFC的OPENCV3.1环境构建及测试
- 调试运行时VS2013提示未加载MFC120ud.i368.pdb
- VS2013 MFC 对话框控件大小随窗口大小改变而改变