概述
在使用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跟踪高通日志,同时不想被高通中复杂的日志定义方式搞得头晕,建议你在相应的头文件中直接宏定义一下自己的打印方法,沿用第二种方式。
最后
以上就是专注西装为你收集整理的QXDM打印高通sensor 日志问题总结的全部内容,希望文章能够帮你解决QXDM打印高通sensor 日志问题总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复