QXDM打印高通sensor 日志问题总结

来源:互联网 发布:linux安装时lvm分区 编辑:程序博客网 时间:2024/06/10 05:08

在使用QXDM打印高通sensor日志的时候,经常会发现有些赋予已经权限很高的log居然打印不出来,这就个代码的追踪带来了一系列困难,鉴于此,我研究了一下高通中log打印问题,给大家今后的使用带来一些经验。
在高通的关于日志的头文件定义中,许多日志是默认不打开的,研究代码:

#if (BUILD_DRAGON_BOARD) && (DEBUG_DATA)#define LSM6DSM_DATA_MSG_0(level,msg)          MSG(MSG_SSID_QDSP6,DBG_##level##_PRIO, DEVICE_NAME" - "msg)#define LSM6DSM_DATA_MSG_1(level,msg,p1)       MSG_1(MSG_SSID_QDSP6,DBG_##level##_PRIO, DEVICE_NAME" - "msg,p1)#define LSM6DSM_DATA_MSG_2(level,msg,p1,p2)    MSG_2(MSG_SSID_QDSP6,DBG_##level##_PRIO, DEVICE_NAME" - "msg,p1,p2)#define LSM6DSM_DATA_MSG_3(level,msg,p1,p2,p3) MSG_3(MSG_SSID_QDSP6,DBG_##level##_PRIO, DEVICE_NAME" - "msg,p1,p2,p3)#elif (!BUILD_DRAGON_BOARD) && (DEBUG_DATA)#define LSM6DSM_DATA_MSG_0(level,msg)          MSG(MSG_SSID_SNS,DBG_##level##_PRIO, DEVICE_NAME" - "msg)#define LSM6DSM_DATA_MSG_1(level,msg,p1)       MSG_1(MSG_SSID_SNS,DBG_##level##_PRIO, DEVICE_NAME" - "msg,p1)#define LSM6DSM_DATA_MSG_2(level,msg,p1,p2)    MSG_2(MSG_SSID_SNS,DBG_##level##_PRIO, DEVICE_NAME" - "msg,p1,p2)#define LSM6DSM_DATA_MSG_3(level,msg,p1,p2,p3) MSG_3(MSG_SSID_SNS,DBG_##level##_PRIO, DEVICE_NAME" - "msg,p1,p2,p3)#else#define LSM6DSM_DATA_MSG_0(level,msg)#define LSM6DSM_DATA_MSG_1(level,msg,p1)#define LSM6DSM_DATA_MSG_2(level,msg,p1,p2)#define LSM6DSM_DATA_MSG_3(level,msg,p1,p2,p3)#endif

可以看到,关于一个LSM6DSM_DATA_MSG_X代码,就有三种不同的定义方式,我研究发现,只有第二种的定义方式

#define LSM6DSM_DATA_MSG_0(level,msg)    MSG(MSG_SSID_SNS,DBG_##level##_PRIO, DEVICE_NAME" - "msg)  

才能够在QXDM中显示出来。
所以,为了简单期间,若要想利用QXDM跟踪高通日志,同时不想被高通中复杂的日志定义方式搞得头晕,建议你在相应的头文件中直接宏定义一下自己的打印方法,沿用第二种方式。

原创粉丝点击