Как использовать startMethodTracing API на Android?

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

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

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

5
задан Stu Thompson 20 May 2010 в 05:32
поделиться

1 ответ

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

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

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

  • Крис
5
ответ дан 14 December 2019 в 19:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: