2015-08-28 70 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中得到一些投訴,特別是在涉及硬件編寫器的情況下。