⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debug.c

📁 这是一个用于linux程序开发中可用于调试程序的代码
💻 C
字号:
#include "debug.h"#include "portable.h"#include <syslog.h>#include <stdarg.h>#include <assert.h>#include <string.h>#include <errno.h>uint32_t debug_level=0;#define DPRINTF_BUF_SIZE  1024void DPRINTF_INFO_DEBUG(int level, char *filename, int line, char *format, ...){  va_list args;  fprintf(stderr, "%s:%d \t\t", filename, line);  va_start(args, format);  if(level >= debug_level /*av3k_debug_level*/) {      vfprintf(stderr, format, args);  }  va_end(args);}void PERROR_DEBUG(char *filename, int line){    static char buf[256];    char *errbuf;    errbuf = strerror_r(errno,buf,256);    syslog(LOG_USER|LOG_DEBUG, "%s,%d:errno=%d,%s",filename,line,errno,buf);  }void DPRINTF_INFO_DLOG(int level, char *format, ...){  va_list args;  char format2[DPRINTF_BUF_SIZE];  sprintf(format2,"%%s:%%d %s",format);  va_start(args, format);  if(level >= debug_level /*av3k_debug_level*/) {    vsyslog(LOG_USER|level,format2,args);  }  va_end(args);}void DUMP_DEBUG(void* buf,int len){    int i=0;    unsigned char* p = (unsigned char*)buf;    for(i=0; i<len; i++){        fprintf(stderr, "%x ", *p ++);    }        printf("\n");}void DUMP_DLOG(void* buf,int len){    int i=0;    for(i=0; i<len; i++){        syslog(LOG_USER|LOG_DEBUG,buf);    }        printf("\n");}void DUMP_FILE(char* filename,char* buf, int len){    FILE* fp=fopen(filename, "wb");    int32_t wlen;    wlen = fwrite(buf,1,len,fp);    assert(wlen==len);    fclose(fp);    DPRINTF(DEBUG_NOTICE, "start %p,len %d\n", buf, len);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -