windows上的c++调试日志
c++ debug logging on windows
我很好奇,对于Windows上的c++ win32应用程序,记录调试打印信息的最常见和/或接受的方式是什么。我没有使用visual studio,而是用GCC编译。
我习惯在Android上开发,使用logcat编写和监控日志。win32有类似的东西吗?
编辑:像这样使用是最常见的吗?
https://msdn.microsoft.com/en-us/library/6xkxyz08.aspx虽然它不提供过滤和每日/大小滚动的附加功能,但OutputDebugString
是一个很好的API,允许您发送调试日志消息。
输出可以通过一个特殊的程序来检索和显示,当程序没有启动时,输出将被忽略。
阅读更多关于它的文章:如何查看OutputDebugString的输出?(同样的API调用可以在c++中使用)
根据输出的大小,您可能需要使用Windows的Eventlog或日志框架,如http://log4cpp.sourceforge.net/
Windows日志的标准基础结构是事件跟踪。它在操作系统的所有部分都可用(和使用),无论是用户模式应用程序还是内核模式模块:
面向Windows的事件跟踪(ETW)为应用程序编程人员提供了启动和停止事件跟踪会话、检测应用程序以提供跟踪事件和使用跟踪事件的能力。跟踪事件包含事件标头和描述应用程序或操作当前状态的提供程序定义的数据。您可以使用这些事件调试应用程序,并执行容量和性能分析。如适用
当您想要检测应用程序,将用户或内核事件记录到日志文件中,并从日志文件或实时地使用事件时,请使用ETW。开发者受众
ETW是为编写用户模式应用程序的C和c++开发人员设计的。运行时需求
ETW包含在Microsoft Windows 2000及以后的版本中。
- 当回溯以零开始时,如何调试崩溃
- 在linux上调试巨大的C++项目
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 如何针对特定情况调试和修复此双自由内存损坏问题
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 正在VS调试器中监视映射条目
- 使用调试/崩溃报告将应用程序部署到客户端
- 执行调试日志记录的更好方法
- 从 Tableau 调用 Rcpp 函数时出错.如何解释和调试 Rserve 日志
- Poco::Logger 不记录跟踪或调试级别日志,只记录信息级别及以上
- Valgrind调试日志:大小为8的读取无效
- log4cplus在Visual Studio调试控制台中进行日志记录
- 调试日志语句的预处理器宏在C++中有一席之地吗
- NDK如何在发布时删除日志调试语句
- 我怎么能用C++在非越狱的ios设备上写调试日志呢
- windows上的c++调试日志
- 创建一个简单的窗口来输出用于调试的信息(日志样式)- wxWidgets
- Android -跨平台友好的调试/日志宏
- 如何从程序中删除日志调试语句
- 如何在项目中实现良好的调试/日志记录功能