Win32和MFC项目如何输出调试信息到VS的调试窗口
直接举例说明:
Win32项目:
#include <Windows.h>
OutputDebugString(TEXT("调试信息:MyCircleImpl::~MyCircleImpl GETS CALLED!"));
MFC项目:
#include <afxwin.h>
TRACE(_T("调试信息:MyCircleImpl::~MyCircleImpl GETS CALLED!"));
用法上,这两个的用法跟printf是一样的。
区别在于,TRACE是对OutputDebugString的封装,只有在DEBUG配置下才会起作用。(定义了_DEBUG宏),否则TRACE什么都不做(去afx.h查看TRACE的定义)。
OutputDebugString不受_DEBUG宏的控制,但是在没有debugger的情况下,OutputDebugString进入其内部后什么也不做直接return
所以如果是Win32项目,最好的做法如下:
Trace.h
#pragma once #include <Windows.h> #ifdef _DEBUG
#define TRACE OutputDebugString
#else
#define TRACE __noop // afx.h中如果没定义_DEBUG,TRACE就定义为__noop从而在Release配置下不会产生影响
#endif
client code:
#include "Trace.h"
TRACE(TEXT("调试信息:MyCircleImpl::~MyCircleImpl GETS CALLED!\n"));
参考资料:
http://stackoverflow.com/questions/494653/how-can-i-use-the-trace-macro-in-non-mfc-projects
https://msdn.microsoft.com/en-us/library/s6btaxcs.aspx
http://bbs.csdn.net/topics/390482393
https://msdn.microsoft.com/en-us/library/windows/apps/aa363362(v=vs.85).aspx
Win32和MFC项目如何输出调试信息到VS的调试窗口的更多相关文章
- 华为荣耀8 android 让真机显示 DeBug Log调试信息 (真机调试时不显示 Logcat 日志的解决办法)
================================================================ 以下内容转载自: https://blog.csdn.net/aiko ...
- 如何在Go项目中输出版本信息?
我们经常在使用CLI工具的时候,都会有这样的参数输出: ``` ➜ ~ docker version Client: Docker Engine - Community Version: 18.09. ...
- [原]你知道怎么使用DebugView查看内核调试信息吗?
原总结注册表sysinternalsdebugviewprocess explorerprocess monitor 简介 DebugView是sysinternals工具集中的一款用来查看调试信息的 ...
- visual studio vs2010 vs2013 显示详细调试信息方法;vs debug 出错怎么办,你需要的不是答案,是方法。
显示详细的输出信息: 选项--项目和解决方案--生成并运行--MSBuild项目生成输出详细信息: 这样在输出目录就会显示详细的错误信息,可以自己分析了.
- Windows程序调试系列: 使用VC++生成调试信息 转
Windows程序调试系列: 使用VC++生成调试信息 ZhangTao,zhangtao.it@gmail.com, 译自 “Generating debug information with Vi ...
- 在MFC中,使用控制台Console输出调试信息
1.在MFC的应用类的InitInstance()函数里添加: AllocConsole(); 有时候需要调整这行代码在InitInstance函数的位置 2.继续添加以下代码 freopen(&qu ...
- MFC输出调试信息
刚学mfc时只知道用MessageBox输出,可是MessageBox只能输出字符串, 对于习惯于printf的我来说非常不便,后来查了一下mfc可以像printf一样输出, 就是TRACE这个宏,用 ...
- web项目 在visual studio 输出窗口显示调试信息
//始终显示 Trace.WriteLine(“要显示的调试信息”); //调试时显示 Debug.WriteLine(“要显示的调试信息”);
- 使用OutputDebugString输出调试信息
在编写控制台程序的时候我们经常会使用printf输出调试信息,使我们了解程序的状态,方便调试,但是当编写非控制台程序的时候这种方法就行不通了,那我们应该怎么办?上网查了一些方法,大致就如下几种 使用L ...
随机推荐
- HDU 3639 Bone Collector II(01背包第K优解)
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- 【转】bShare分享插件的使用
原文地址:http://blog.csdn.net/pan_junbiao/article/details/17884203 1.引用JS文件 分享标签: 1.class="bshare-c ...
- 【转】区别和认识.Net四个判等函数
原文地址:不详 .Net有四个判等函数?不少人看到这个标题,会对此感到怀疑.事实上确是如此,.Net提供了ReferenceEquals.静态Equals,具体类型的Equals以及==操作符这四个判 ...
- [ZZ] HDR&ToneMapping
http://blog.csdn.net/toughbro/article/details/6745207 float游戏存储照片blogimage HDR high dynamic range. 很 ...
- JiaThis WordPress分享插件安装全攻略
WordPress 是一个功能非常强大的博客系统,插件众多,易于扩充功能.安装和使用都非常方便.目前 WordPress 已经成为主流的 Blog 搭建平台.按照下面的方法,只需简单几步,就可轻松地将 ...
- Bootstrap页面布局9 - BS列表
列表: 无序列表(列表中项目内容没有固定的顺序), 有序列表(通常使用在一组有前后顺序的内容上), 描述列表(定义解释一组词汇) 无序列表: <ul> <li>Ueditor编 ...
- 【转】基于laravel制作APP接口(API)
这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下 前期准备 前言,为什么做以及要做个啥本人姓小名白,不折不扣编程届小白一名,但是自从大一那会儿接触到编程这件 ...
- textview自适应高度的计算方法
http://blog.csdn.net/smking/article/details/22221441
- oracle用户创建及权限设置
权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...
- 玩儿了一下django User authentication
五一在家,VPN不能链接了,而项目在本地run的过程中,又需要链接公司的SSO server才能login.下雨,不想去公司,又不得不在家做task,只能想办法避开SSO login,以前知道djan ...