C++ 输出日志到 DbgView
首先感谢木杉老哥对 OutputDebugString
的封装,解决了日志信息不能直接打印变量的问题,代码简单易懂,解决了我的困难。
新建一个头文件,log.h:
#ifndef _DEBUGPRINTF_H_
#define _DEBUGPRINTF_H_ #include<Windows.h>
#include <tchar.h> //用于输出信息到编译器输出窗口的宏定义
//使用win API,DEBUG版本会执行,RELEASE版本则不会
//还可以使用DebugView,WinDbg等工具查看输出 #ifdef _DEBUG #define DP0(fmt) {TCHAR sOut[256];_stprintf_s(sOut,_T(fmt));OutputDebugString(sOut);}
#define DP1(fmt,var) {TCHAR sOut[256];_stprintf_s(sOut,_T(fmt),var);OutputDebugString(sOut);}
#define DP2(fmt,var1,var2) {TCHAR sOut[256];_stprintf_s(sOut,_T(fmt),var1,var2);OutputDebugString(sOut);}
#define DP3(fmt,var1,var2,var3) {TCHAR sOut[256];_stprintf_s(sOut,_T(fmt),var1,var2,var3);OutputDebugString(sOut);} #endif #ifndef _DEBUG #define DP0(fmt) ;
#define DP1(fmt, var) ;
#define DP2(fmt,var1,var2) ;
#define DP3(fmt,var1,var2,var3) ; #endif #endif
调用例子:
#include "log.h"DWORD dwPid = ::GetCurrentProcessId();
DP0("[LYSM] Lying Simon tells the lie that he loves you so much.");
DP1("[LYSM] %d",dwPid);
DP2("[LYSM] %d,%d",dwPid,dwPid);
DP3("[LYSM] %d,%d,%d",dwPid,dwPid,dwPid);
效果图:
C++ 输出日志到 DbgView相关推荐
- 解决Flink输出日志中时间比当前时间晚8个小时的问题
Flink安装在CentOS7上,默认时间是UTC时间,查看Flink日志,发现输出时间比当前时间晚8个小时. 通过如下命令,调整成北京时间 cp /usr/share/zoneinfo/Asia/S ...
- PyCharm中控制台输出日志分层级分颜色显示
原文:https://blog.csdn.net/linzi1994/article/details/83009233 PyCharm中控制台输出日志分层级分颜色显示 版权声明:本文为博主原创文章,未 ...
- log4net 无法输出日志,跟踪发现IsErrorEnabled等,都是Flase
log4net 无法输出日志,跟踪发现IsErrorEnabled等,都是Flase. 因为这是个半路接手的项目,写法和我之前的习惯不一样,所以也没看出问题出在哪里. 代码如下: private st ...
- slf4j + logback 输出日志:mybatis sql语句
1 引入jar包:maven resposity 中 选择logback classic module <dependency> <groupId>ch.qos.logback ...
- Log4net 中输出日志到文件,文件名根据日期生成
1 简介 1.1 Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管 ...
- log4j2分层输出日志
在java mvc框架开发过程中,我们经常的将代码分为类似controller(控制层).service(业务层).rpc(远程接口调用层).dao(数据层)等层级,如果将所有层级的日志全部都打到一个 ...
- C# log4net 不输出日志
一个新项目,直接用了一些之前的代码,突然跟踪不到日志了.检查发现了原因,特在此记录. log4net的配置文件log4net_config.xml <?xml version="1.0 ...
- 2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出“方法 method() 被
2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出"方法 metho ...
- 脚本监控网络状态,输出日志并归档(V2)
脚本监控网络状态&日志归档整理(V2) 最近为检测***环境网络状态是否稳定,没有使用监控zabbix等监控工具,为方便快捷,使用脚本实现网络监控,并输出日志归档整理,方便后续排查. 在上次基 ...
- springboot 打印乱码_Springboot中使用logback输出日志中文乱码
在Springboot中使用logback输出日志时,中文变成了?乱码,第一反应是编码问题. 解决方法: 设置charset, 在encoder 中增加一行 UTF-8,重新启动系统,日志中中文显示正 ...
最新文章
- JavaScript最全编码规范
- stm32f103r6最小系统原理图_电气工程师电气系统设计与电气设备的选择
- STL源码剖析---红黑树原理详解
- 【模型开发】EDA探索性分析
- JavaWeb(四)——在IDEA中配置Tomcat、pom文件
- 安装 | Android studio连接不上真机解决办法(电脑安装虚拟机不成功的情况下)
- 前端学习(649):编译和解释性语言的区别
- 《spring 2.0技术手册》的技术写作方式值得学习!
- TCP之Nagle算法延迟ACK
- Activiti6.0 安装出错 log4j:ERROR setFile(null,true) call failed.
- DSP之通信之MMC控制器
- ASP.Net Mvc 发布网站 (样式+图片问题)
- 如何缩小jpg图片大小kb?手机照片怎么压缩大小?
- 页面加载时,下方内容在上方图片位置闪现
- 关于cdd文件的配置
- 挑选电脑免费加密软件特别注意哪些?
- 微信小程序视频URL测试地址 MP4格式
- 回首2019,瞻仰2020
- ASP.NET Core中如何显示[PII is hidden]的隐藏信息
- [Hackthebox]获取社区邀请码
热门文章
- cmmi3级和5级之间的区别是什么?
- java入门-dos窗口的用法
- QGIS如何打开ArcGIS创建的GDB数据库文件
- 【蓝牙】什么?还不知道蓝牙协议栈开源了?
- hrm系统源码php,悟空HRM下载_悟空HRM0.1开源版 - 系统之家
- 质量值体系 Phred33 和 Phred 64 的由来 及其在质量控制中的实际影响
- python贪吃蛇的实验报告_贪吃蛇游戏程序设计实验报告.doc
- 一文读懂OSI七层网络模型与TCP-IP模型和对等网络通信协议
- 123f是什么c语言,123RF博客
- python 区块链 文件共享_Python实现自己的分布式区块链视频教程