歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 自定義的Qt程序打印調試信息的方法

自定義的Qt程序打印調試信息的方法

日期:2017/3/1 10:24:51   编辑:Linux編程

在程序的開發過程中,往往需要添加打印消息,來確定程序Bug的來源。工作的要求是使用qmake生成Makefile,

然後,再使用make來進行構建目標程序。

1.首先,定義自己的打印函數,比如:

  1. #ifndef SHINECOMMON_H
  2. #define SHINECOMMON_H
  3. #include <stdio.h>
  4. #ifdef SHINEDEBUG
  5. #define SHINE_dputs(str) do{ printf("%s %s %d: %s\n", __FILE__, __func__, __LINE__, str); }while(0);
  6. #define SHINE_dprintf(fmt, args...) do{ printf("%s, %s, %d: "fmt"\n", __FILE__, __func__, __LINE__, ##args); }while(0);
  7. #else
  8. #define SHINE_dputs(str) do{}while(0);
  9. #define SHINE_dprintf(fmt, args...) do{}while(0);
  10. #endif
  11. #endif // SHINECOMMON_H

2. 在想要使用打印調試信息的文件中包含上面的頭文件,或者拷貝打印函數進去

在想要打印信息的地方直接調用 SHINE_dputs() 就可以,比如:

  1. SHINE_dprintf("%s, %x, %s, %f", "Just for test", 100010, "abcdefg", 1.23234);
  2. SHINE_dputs("Just for test too");

3. 為了優化Qt程序在嵌入式平台上面的性能,最好確認一下.pro文件中是否有如下的配置:

CONFIG += qt embeded release

如果,沒有最好添加進去。

4. 運行 qmake "DEFINES += SHINEDEBUG" .

把其中的SHINEDEBUG替換成你定義的宏即可。 這樣會生成Makefile。

這時,可以看一下Makefile,裡面DEFINES就會包含我們添加的宏

5. make 構建我們的目標程序

上面,這5步就可以構建打印調試信息的程序,如果我們想去掉,只需要重新運行qmake(注意不加參數)即可。

Copyright © Linux教程網 All Rights Reserved