如何debug,TouchPanel使用时突然没有响应的问题
时间:10-02
整理:3721RD
点击:
【问题描述】
touchPanel使用时突然没有响应的问题,通过adb shell getevent查看,此时TP driver还在给上层
报数据。
【问题分析】
TP有丢数据给上层,但上层没有相应的动作,需要找出TP丢的数据跑到什么地方去了,主要涉及到
的文件为inputreader.cpp和inputDispatcher.cpp。
分析数据流向,需要做以下动作:
第一步
在inputreader.cpp中把 #define DEBUG_XXX 0全部修改为 #define DEBUG_XXX 1
在InputDispatcher.cpp中把 #define DEBUG_XXX 0全部修改为 #define DEBUG_XXX 1
第二步
build InputReader.cpp和InputDispatcher.cpp所在的模块就可以了
./mk projectname mm php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks/base/services/input
第三步
adb push out/target/product/projectname/system/lib/libinput.so system/lib
第四步
重启手机
可以抓相关的LOG了
上面第一步有打开一项:DEBUG_FOCUS,这个会打印input 信息的取向,key words为“
InputDispatcher: Focus entered window:”和“InputDispatcher: Focus left
window:”
【问题结论】
可以通过key words“InputDispatcher: Focus entered window:”和“
InputDispatcher: Focus left window:”来找数据跑到什么位置了,进而找出问题
的root cause。
