2015-08-28 230 views
-1

我正在调试内存损坏问题,我想检查SF是否访问无效内存或不,但我不知道如何使用命令行启动SF。请帮忙。如何用valgrind运行surfaceflinger?

+0

请问您可以添加一些关于您遇到问题的更多描述吗? – abarisone

+0

@abarisone哦,对不起。我是android新手,我想要的是用valgrind运行surfaceflinger .....你有什么经验吗? – JeremyLiu

回答

0

SurfaceFlinger由系统在相当早的时候启动,通常不会由用户从命令行启动。

一种方法是将valgrind命令插入initd控制脚本,修改init.rc。由于rootdir的安装方式,这比听起来更难。

替换surfaceflinger二进制文件,其中启动了一个在valgrind下运行的SurfaceFlinger应该可以工作;只要确保您wait()完成或initd会认为它在启动器退出时就会死掉。

当然,判断SurfaceFlinger是否访问无效内存的最好方法是查看它是否崩溃,虽然也许您的“无效”定义超出了“未映射或映射不兼容”的范围。

您会从各种ioctl() s的valgrind中得到一些投诉,特别是在涉及硬件编写器的情况下。

相关问题