Akagi201的Linux錯誤捕捉函數,可以支援驅動和應用程式

來源:互聯網
上載者:User
      /** @file mydebug.h  * @note HangZhou Hikvision Digital Technology Co., Ltd. All Right Reserved.  * @brief    我的錯誤捕捉函數  *   * @author   liuboyf1  * @date     2012-10-9  * @version  V1.0.0  *   * @note ///Description here   * @note History:      * @note     <author>   <time>    <version >   <desc>  * @note    * @warning    */// 我的列印宏定義#ifdef DEBUG    #ifdef __KERNEL__        #define DBG_PRINT_FILE_LINE(void)                                    \        do                                                                   \        {                                                                    \            printk(KERN_EMERG "\n%s:%s():%d:", __FILE__, __func__, __LINE__);\        }while (0)        #define DBG_PRINT(fmt, args...)                                      \        do                                                                   \        {                                                                    \            DEB_PRINT_FILE_LINE(void);                                       \            printk(KERN_EMERG fmt, ##args);                                  \        }while (0)                #define ERR_PRINT(fmt, args...)                                      \        do                                                                   \        {                                                                    \            printk(KERN_EMERG fmt, ##args);                                  \        }while (0)    #else        #define DBG_PRINT_FILE_LINE(void)                                    \        do                                                                   \        {                                                                    \            fprintf(stderr, "\n%s:%s():%d:", __FILE__, __func__, __LINE__);  \        }while (0)        #define DBG_PRINT(fmt, args...)                                      \        do                                                                   \        {                                                                    \            DBG_PRINT_FILE_LINE(void); fprintf(stderr, fmt, ##args);         \        }while (0)        #define ERR_PRINT(str)                                               \        do                                                                   \        {                                                                    \            DBG_PRINT_FILE_LINE(void);                                       \            perror(str);                                                     \        }while (0)    #endif#else    #define DBG_PRINT_FILE_LINE(void) do{}while (0)    #define DBG_PRINT(fmt, args...) do{}while (0)    #define ERR_PRINT(fmt, args...) do{}while (0)#endif

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.