Qt 使用#define+qDebug()输出调试信息

/*******************************************************************************************
 *                             Qt 使用#define+qDebug()输出调试信息
 * 声明:
 *     当我们在写程序的时候,往往需要写一些特殊的调试信息,同时很多时候又不愿意每次都
 * 删除、添加,当然在Qt中有时候写qDebug中的D总是让人不那么舒服,如下定义成小写的感觉
 * 还是挺不错的。
 *
 *                                                  2015-12-16 深圳 南山平山村 曾剑锋
 ******************************************************************************************/

#define debug
#ifdef debug
    #define qdebug(format, ...) qDebug("File:%s, Function:%s, Line:%d  "format, __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
    #define qdebug(format, ...)
#endif

 

时间: 2024-10-30 23:54:18

Qt 使用#define+qDebug()输出调试信息的相关文章

win32使用OutputDebugString输出调试信息的方法

在win32程序中可以使用函数OutputDebugString输出调试信息.输出的结果可以在vs的集成环境中看到,也可以使用工具DbgView.exe捕捉结果.函数的原形如下: OutputDebugString The OutputDebugString function sends a string to the debugger for display.   void OutputDebugString( LPCTSTR lpOutputString);ParameterslpOutpu

跟踪Makefile输出调试信息

/********************************************************************* * 跟踪Makefile输出调试信息 * 说明: * 有时候为了了解项目的Makefile是怎么工作的,需要加入一些调试信息, * 查看一些变量状态,来判断编译流程是如何进行的. * * 2017-8-14 深圳 龙华樟坑村 曾剑锋 **************************************************************

C语言输出DEBUG调试信息的方法

问题提出 我们在调试程序时,输出调试信息(又称为"打桩"或者"插桩")是一种普遍.有效的方法. 我们输出的信息通常包括行号.函数名.程序变量等. 但是我们在程序BUG修复后,又会特别烦我们之间插入的哪些调试语句,客户是不会理解我们那些调试语句曾经又多少汗马功劳,而太多的调试语句也影响我们程序运行时输出的美观和清晰,于是很多情况下我们需要手动将那些调试语句注释掉或者删掉,这对于小项目来说,我们还可以忍受,但是对于大项目,如果我们还是手动删除,我们只能....呵呵,这不

Qt之qInstallMessageHandler(输出详细日志)

简述 安装之前已定义的消息处理程序,返回一个指向前一个消息处理程序. 消息处理程序是一个函数,用于打印调试信息.警告信息.严重错误和致命的错误的消息.Qt库(debug模式)包含成百上千的警告信息打印,当发生内部错误时(通常是无效的函数参数).Qt在release模式下构建还包含这些警告,除非在编译时设置QT_NO_WARNING_OUTPUT和/或QT_NO_DEBUG_OUTPUT.如果你实现自己的消息处理程序,就可以完全控制这些消息. 缺省的消息处理程序向标准输出打印消息.如果是一个致命的

ThinkPHP调试信息的学习笔记

ThinkPHP调试信息怎么使用呢?经常看到有人问到findAll的返回数据类型是什么之类的问题,以及出错了不知道什么原因的情况,其实还是没有熟悉ThinkPHP内置的调试手段和方法,抛开IDE本身自带的调试方式不说,如果你正在用或者打算用ThinkPHP开发的话,那么下面一些和调试相关的方法你是应该要了解和掌握的: 1.在项目配置文件里面打开调试模式DEBUG_MODE,这样能够让你发现大部分的错误原因 .可能影响验证码的输出. ThinkPHP调试信息怎么使用 2.如果不想使用调试模式,可以

在使用CocoaPod的Xcode工程中断点没有调试信息的问题跟进

通常客户端产品至少都会有Debug和Release两种编译配置,在编译Release版本中会进行一些优化,以减少最终产品的体积. 比如,在Release版本中会对代码执行步骤进行优化(如O1.O2等),这会导致有些代码被优化省略掉,有时无法单步调试:另外就是会去掉符号信息,这会导致断点调试时没有符号信息,所以才会有CallStack的捕获和解析内容. 由于千牛iOS端会有不同版本,分别面向内部开发者.外部ISV以及最终用户.尤其是在集成QAP项目后需要提供一个专门的开发调试版本给QAP开发者,所

【原创】实验验证调试信息的剥离与链回

测试代码如下  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@Betty gdb_-g_test]# cat test.c #include <stdio.h> #include <stdlib.h>   int main() {     int m = 0, n =9;     int k = m+n;     printf("k is %d\n", k);     m = k + n;     printf(&

可精确到1毫秒的用以在记录文件中写入自定义的调试信息(主要是时间)的组件

上次我发布了一个用以在记录文件中写入自定义的调试信息(主要是时间)的组件,但由于CLR的限制,它只能精确到10毫秒左右.后来我参考了网络上的一篇文章:http://blog.joycode.com/lostinet/archive/2005/04/24/49590.aspx(在这里首先向原作者表示感谢)通过调用系统API得到了可精确到1毫秒左右的时间记录.故特重新用C#重写了这个组件,与大家共享. //===============================================

用以在记录文件中写入自定义的调试信息(主要是时间)的组件

'===================================================================='TraceSpy - 用以在记录文件中写入自定义的调试信息(开发者:林健)'====================================================================''属性:'       TraceFileName        - 记录文件名''方法:'   ★文本写入方面'       WriteText