Не в состоянии профилировать родной код Android - PullRequest
3 голосов
/ 05 сентября 2011

Я пытаюсь оптимизировать нативный код.Я пытался использовать Debug.startMethodTracing () и Debug.stopMethodTracing ().Но его профилирование только Java-функций, а не профилирование нативный код.Собственный вызов, который мы делаем из кода Java, просто отображается в течение этого времени, внутренние вызовы не отображаются.Я построил нативную библиотеку в режиме отладки, даже тогда я не могу профилировать нативный код.

В stackoverflow я получил эти ссылки, но они также не очень полезны для меня, пожалуйста, помогите мне в профилировании нативногокод.Я работаю над выпуском телефона для разработки приложений на Android.Итак, у меня нет доступа к исходному коду Android.Пожалуйста, помогите мне.

Ссылки:
1) dmtracedump не работает, ПОМОГИТЕ!
2) Профилирование собственного кода Android
3) http://developer.android.com/guide/developing/debugging/debugging-tracing.html

D: \ Profiling> dmtracedump -o D: \ Profiling \ EvrcEncoderProfiling.trace
ОШИБКА: невозможно прочитать 42170 байт из файла трассировки
D: \ Profiling>traceview D: \ Profiling \ EvrcEncoderProfiling.trace
D: \ Profiling>

Traceview работает, но dmtracedump не работает.

Спасибо и С уважением,
SSuman185

1 Ответ

3 голосов
/ 05 сентября 2011

Но его профилирование только java-функций, но не профилирование нативного кода.

Правильно.Это все, что может сделать Traceview, поскольку файлы трассировки будут иметь только информацию Dalvik.

Traceview работает, но dmtracedump не работает.

Пока я не знаю, почемуон не работает для вас (я никогда не использовал его), он не будет иметь более глубокого понимания вашего нативного кода, чем Traceview.

AFAIK, вам нужно будет профилировать свой нативный код старомодным способом: путем сбора и регистрации времени.

...