2016-08-24 130 views
-1

我目前正在研究一個項目,旨在找出系統在一系列用戶交互在Android用戶界面上。例如,如果用戶點擊Facebook Messenger中的發送按鈕,則此類操作的測量響應時間爲1.2秒。我的目標是弄清1.2秒組成的內容。我的朋友建議我應該看看'Systrace'。Systrace - 錯誤截斷/ sys /內核/調試/跟蹤/ set_ftrace_filter:沒有這樣的設備(19)無法啓動

但是,當我在我的HTC One M8上試過systrace時,遇到了一些問題: 首先,打開/ sys/kernel/debug/tracing/options/overwrite時出錯 - 沒有這樣的文件或目錄。我通過在http://opensourceforu.com/2010/11/kernel-tracing-with-ftrace-part-1/和mount -t debugfs none/sys/kernel/debug之後建立對內核的支持來解決了這個問題。然後我可以找到跟蹤目錄。此外,我在Ramdisk中將ro.debuggable = 1設置爲default.prop文件,並將boot.img刻錄到我的手機中。

現在我遇到了另一個問題:當我運行時 - python systrace.py --time = 10 -o mynewtrace.html sched gfx view wm,彈出以下錯誤(19):錯誤截斷/ sys/kernel/debug/tracing/set_ftrace_filter:沒有這樣的設備(19)。我不知道是否構建內核支持systrace的方式不正確或缺少任何東西。

任何人都可以幫我解決這個問題嗎?

回答

0

我想我已經制定出瞭解決方案。我的環境是Ubuntu 16.04 + HTC one M8。我會寫的步驟如下:

  1. 開端子和輸入:$adb shell
  2. (1)$su(2)$mount -t debugfs none /sys/kernel/debug。現在你應該能夠在/ sys/kernel/debug /下看到很多目錄。 (您可以通過cd/sys/kernel/debug來確認這一點)
  3. 新建一個新終端並輸入:dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/sdcard/boot.img從設備生成boot.img內核映像。
  4. 使用AndroidImageKitchen解包boot.img並在Ramdisk文件夾中找到default.prop。然後將ro.debuggable=0更改爲ro.debuggable=1。重新包裝boot.img並將其引導至您的設備。
  5. 設備啓動後,在終端下輸入:adb root和消息,如:以root身份重新啓動adbd可能會彈出。斷開USB並重新連接。
  6. cd到systrace文件夾,例如〜/ androidSDK/platform-tools/systrace和使用: python systrace.py --time=10 -o mynewtrace.html sched gfx view wm
  7. 現在你可能能夠生成你自己的systrace文件。
相關問題