-1
我正在调试内存损坏问题,我想检查SF是否访问无效内存或不,但我不知道如何使用命令行启动SF。请帮忙。如何用valgrind运行surfaceflinger?
我正在调试内存损坏问题,我想检查SF是否访问无效内存或不,但我不知道如何使用命令行启动SF。请帮忙。如何用valgrind运行surfaceflinger?
SurfaceFlinger由系统在相当早的时候启动,通常不会由用户从命令行启动。
一种方法是将valgrind命令插入initd控制脚本,修改init.rc。由于rootdir的安装方式,这比听起来更难。
替换surfaceflinger
二进制文件,其中启动了一个在valgrind下运行的SurfaceFlinger应该可以工作;只要确保您wait()
完成或initd会认为它在启动器退出时就会死掉。
当然,判断SurfaceFlinger是否访问无效内存的最好方法是查看它是否崩溃,虽然也许您的“无效”定义超出了“未映射或映射不兼容”的范围。
您会从各种ioctl()
s的valgrind中得到一些投诉,特别是在涉及硬件编写器的情况下。
请问您可以添加一些关于您遇到问题的更多描述吗? – abarisone
@abarisone哦,对不起。我是android新手,我想要的是用valgrind运行surfaceflinger .....你有什么经验吗? – JeremyLiu