Как использовать API-интерфейсы startMethodTracing на Android? - PullRequest
5 голосов
/ 20 мая 2010

Я недавно начал работать над приложением, которое имеет как Java, так и родные компоненты. Я пытаюсь сгенерировать информацию трассировки для обоих компоненты, использующие Debug.startMethodTracing("myapp") и Debug.startNativeTracing() попеременно. Однако оба ведут себя неожиданно.

Когда я использую Debug.startMethodTracing("myapp"), я вижу, что создается файл /sdcard/myapp.trace, но он всегда пуст, независимо от того, как долго я запускаю свое приложение. Когда я использую Debug.startNativeTracing() и запускаю эмулятор с переключателем -trace <tracename>, я вижу сообщение «1009 *« Трассировка запущена », но при попытке запустить приложение вылетает эмулятор

Я что-то упускаю здесь очевидное? Как мне отладить эту проблему?

1 Ответ

5 голосов
/ 06 июня 2010

Когда со мной такое случалось, это потому, что у меня были несовпадающие пары старт / стоп. Например, если вы запускаете трассировку метода, но никогда не останавливаетесь, я думаю, что Android просто никогда не записывает буферизованную информацию трассировки в файл. Точно так же, если у вас есть дополнительная остановка в середине или вы никогда не начинаете и т. Д., Вы не получите желаемых результатов.

Кроме того, метод трассировки отлично сработал для меня.

Собственная трассировка, с другой стороны, по-видимому, не поддерживается (по-прежнему), поскольку я получаю сообщение об ошибке «Файлы трассировки Qemu пока не поддерживаются», когда пытаюсь загрузить собственные результаты трассировки в traceview. (Любой комментарий по этому поводу от Google?)

  • Kris
...