背景
分析binder驱动问题,需要开启log。由于内核是底层,log不能随便加随便开。不然性能撑不住。
开启binder日志
有2种方法:1、修改系统配置 2、修改binder.c源码
-
修改系统配置
这个是临时的,每次重启,需要重新设置。
举例:adb shell ‘echo 1536 > /sys/module/binder/parameters/debug_mask’
解释1536 = 1024 +512 = 2 ^10 + 2^9,
代表想打开下面的两个标志位的日志,
BINDER_DEBUG_TRANSACTION = 1U << 9,
BINDER_DEBUG_TRANSACTION_COMPLETE = 1U << 10, -
修改binder.c源码
在binder_debug_mask变量上,打开对应的位。
举例,想打开BINDER_DEBUG_TRANSACTION。
binder_debug_mask = BINDER_DEBUG_USER_ERROR | BINDER_DEBUG_FAILED_TRANSACTION | BINDER_DEBUG_DEAD_TRANSACTION