如何运行与valgrind表面flinger



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

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

一种方法是在initd控制脚本中插入valgrind命令,修改init.rc。这比听起来要困难,因为rootdir的挂载方式不同。

用一个在valgrind下运行的启动SurfaceFlinger的二进制替换surfaceflinger应该可以工作;只要确保wait()完成,否则initd会在启动器退出时认为它已经死亡。

当然,判断SurfaceFlinger是否正在访问无效内存的最佳方法是查看它是否崩溃,尽管您对"无效"的定义可能超出了"未映射或不兼容映射"。

你会从各种ioctl()中得到一些抱怨,特别是在硬件编写器中。

相关内容

  • 没有找到相关文章

最新更新