非main函数中获取 命令行参数
This commit is contained in:
16
soft/debug.c
16
soft/debug.c
@@ -67,7 +67,8 @@ int _sem_init(){
|
||||
|
||||
typedef struct{
|
||||
int inited;
|
||||
#ifdef RT_THREAD
|
||||
int print_context;
|
||||
#ifdef RT_THREAD
|
||||
struct rt_mutex mutex;
|
||||
#endif
|
||||
#ifdef LINUX
|
||||
@@ -113,12 +114,17 @@ int debug_init(dbg_dev *dev)
|
||||
self->dev=dev;
|
||||
self->dev->init();
|
||||
self->dev->write((const uint8_t *)"\r\n",2);
|
||||
self->inited=1;
|
||||
self->inited = 1;
|
||||
debug_print_context(1);
|
||||
DBG_LOG("debug inited.\r\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void debug_print_context(int enable) {
|
||||
g_data.print_context = enable;
|
||||
}
|
||||
|
||||
|
||||
void debug_log(const char *file,const char *fun,int line,int level,const char *fmt, ...)
|
||||
{
|
||||
@@ -137,8 +143,10 @@ void debug_log(const char *file,const char *fun,int line,int level,const char *f
|
||||
_sem_take(self->mutex);
|
||||
#endif
|
||||
memcpy(log_buf,level_str[level],level_str_len[level]);
|
||||
length=level_str_len[level];
|
||||
length+=sprintf(log_buf + length,"%s:%d|%s| ",file,line,fun);
|
||||
length = level_str_len[level];
|
||||
if (self->print_context) {
|
||||
length += sprintf(log_buf + length, "%s:%d|%s| ", file, line, fun);
|
||||
}
|
||||
|
||||
va_start(args, fmt);
|
||||
length += vsnprintf(log_buf + length, CONSOLEBUF_SIZE - length - 3, fmt, args);
|
||||
|
Reference in New Issue
Block a user