码迷,mamicode.com
首页 > 其他好文 > 详细

在有界面的应用程序中开启控制台调试窗口

时间:2020-03-14 11:13:30      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:class   csdn   选项   设置   tar   信息   直接   article   free   

在有界面的应用程序中开启控制台调试窗口非常有用,尤其是在调试多线程应用程序中,由于通过断点的方式调试程序时会导致线程挂起从而导致各种难于预料的结果。这时候就可以通过开启控制台窗口往窗口输出信息来查看线程的运行情况,这比通过日志文件输出的方式更方便和实时。

下面介绍四种开启控制台窗口的方法:

  • 通过AllocConsole()函数打开控制台窗口
  AllocConsole();//打开控制台窗口
  HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE); //获取标准输出句柄  
  SetConsoleTitle("test"); //设置Console的Title. 
  char msg[] = "Hello World!\n";
  WriteConsole(hOutput, msg, strlen(msg), NULL, NULL); //向控制台窗口写入信息
  FreeConsole(hOutput); //释放句柄
  • 通过配置相关属性

    VC6通过在 Project | Setting...中,选项 Post-builder step 里新建command,VS2010通过在 属性->配置属性->生成事件->后期生成事件->命令行 中添加:
    editbin /subsystem:console $(OutDir)\$(TargetName).exe
    然后使用cout或者printf向控制台输出 也可以通过获取标准输出句柄然后调用WriteConsole方式输出

  • 用TRACE,然后编译debug的工程,直接运行你的可执行文件,可以用Dbgview来获得输出

  • 使用DBWindow.h:MFC/DLL 编程时用独立的控制台窗口显示用户自定义调试信息


个人在使用过程中发现如果是正式版本不需要控制台窗口的情况下第2种最合适,不需要的时候修改项目设置即可,如果在正式版本中保留控制台窗口则使用第一种方法。其它方法看情况使用。
本文内容非原创,只是收集了网络上它人的成果,加以整理分享,以使更多的人看到,方便它人,共同进步!

参考列表

  1. http://blog.csdn.net/chinamming/article/details/17033923
  2. http://blog.csdn.net/vc_newer_and_newer/article/details/75349007

在有界面的应用程序中开启控制台调试窗口

标签:class   csdn   选项   设置   tar   信息   直接   article   free   

原文地址:https://www.cnblogs.com/tyrhpx/p/12490751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!