Android 如何使用valgrind运行surfaceflinger?

Android 如何使用valgrind运行surfaceflinger?,android,valgrind,surfaceflinger,Android,Valgrind,Surfaceflinger,我正在调试内存损坏问题,我想检查SF是否正在访问无效内存,但我不知道如何使用命令行启动SF。请提供帮助。SurfaceFlinger很早就由系统启动,通常不是由用户从命令行启动的 一种方法是将valgrind命令插入initd控制脚本中,修改。这比听起来更难,因为rootdir的安装方式 将surfaceflinger二进制文件替换为在valgrind下运行的启动surfaceflinger的二进制文件应该可以工作;只需确保wait()等待它完成,否则initd将假定它在启动器退出时死亡 当然,

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

SurfaceFlinger很早就由系统启动,通常不是由用户从命令行启动的

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

surfaceflinger
二进制文件替换为在valgrind下运行的启动surfaceflinger的二进制文件应该可以工作;只需确保
wait()
等待它完成,否则initd将假定它在启动器退出时死亡

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


valgrind的各种
ioctl()
s会给您带来一些抱怨,特别是在硬件编写器方面。

您能不能再多描述一下您遇到的问题?@abarisone哦,对不起。我是android新手,我只想用valgrind运行surfaceflinger。。。。。你有经验吗?