Подтвердить что ты не робот

Android DDMS v22.0.1 не может генерировать systrace, используя Droid Razor 4.1.2

Я выбрал несколько тегов трассировки, и когда я запускаю трассировку (от DDMS), я получаю следующий вывод:

Unexpected error while collecting system trace. Unable to find trace start marker 'TRACE:':
error opening /sys/kernel/debug/tracing/options/overwrite: 
No such file or directory (2)

error openi (отключает здесь ошибку)

действительно нет отладочного файла в каталоге ядра, но какой механизм будет генерировать необходимый путь?

4b9b3361

Ответ 1

Похоже, ваш мобильный телефон работает с загрузочным (ядром) образом, который не поддерживает systrace.

"открытие ошибки /sys/kernel/debug/tracing/options/overwrite: нет такого файла или каталога (2)"

Это сообщение об ошибке означает, что демон adb (модуль adb, выполняющийся со стороны устройства) не смог найти /sys/kernel/debug/tracing/options/overwrite в файловой системе вашего устройства. systrace работает над adb и связывается с узлами ядра, хотя sysfs в /sys/kernel/debug/tracing. Если эти узлы не будут отображаться на вашем телефоне по какой-либо причине, systrace просто не будет работать.

Итак, сначала вы должны получить оболочку на своем устройстве, используя:

adb shell

Затем найдите подтверждение, если /sys существует вообще, и если /sys/kernel/debug/tracing существует.

Если они есть, что крайне маловероятно, вам нужно отлаживать systrace.py, чтобы выяснить, как происходит systrace, что узлы не были там. В противном случае вам нужно запуститься другой загрузочный образ, поддерживающий systrace, потому что sysfs управляется ядром (главным образом, при настройках во время компиляции) и init.rc, оба из которых являются частью загрузочного образа.

Мигание другого загрузочного образа может включать разблокировку/укоренение устройства. Вам, вероятно, придется пойти на фан-сайты, такие как xdadeveloper для информации и изображения. Другой вариант - загрузить исходный код ядра для вашего устройства, скомпилировать ядро ​​и сделать загрузочный образ самостоятельно. Linux находится под лицензией GPL, поэтому производитель вашего устройства обязан освободить исходный код специализированного ядра, которое они используют.

-NAM http://www.willpromo.com

Ответ 2

Возможно, вам придется немного изменить образ ядра (boot.img). Следующая работа найдется для меня, только для вашей справки.

  • открыть терминал и ввести: $adb shell
  • (1) $su (2) $mount -t debugfs none /sys/kernel/debug. Теперь вы можете увидеть множество каталогов в /sys/kernel/debug/. (Вы можете записать в /sys/kernel/debug, чтобы подтвердить это)
  • Введите: $dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/sdcard/boot.img, чтобы сгенерировать образ ядра boot.img с вашего устройства.
  • Используйте AndroidImageKitchen для распаковки boot.img и найдите файл default.prop в папке Ramdisk. Затем измените ro.debuggable=0 на ro.debuggable=1. Переустановите boot.img и загрузите его на свое устройство.
  • После загрузки устройства под терминалом введите: $adb root и появится сообщение типа: $restarting adbd as root. Отключите USB и снова подключите.
  • cd в папку systrace, например. ~/androidSDK/platform-tools/systrace и use: python systrace.py --time=10 -o mynewtrace.html sched gfx view wm
  • Теперь вы можете создавать собственные файлы systrace.