android-ndk - toolchains - ndk r16
Android: ¿hay alguna herramienta para perfilar código nativo? (4)
Solo he encontrado una herramienta de creación de perfiles: http://code.google.com/p/android-ndk-profiler/ . No pude hacerlo funcionar hasta el momento, así que me pregunto si hay otras herramientas disponibles. Necesito un perfil en un dispositivo físico, ya que mi aplicación ni siquiera funciona en el emulador.
Amplificador Intel VTune. Este generador de perfiles le permite recopilar puntos de acceso con pilas en dispositivos Android sin root o ninguna modificación del sistema operativo. Aquí hay una guía sencilla: http://software.intel.com/en-us/articles/using-intel-vtune-amplifier-on-non-rooted-android-devices
El perfilador de Shiny es independiente de la plataforma, se ejecuta en cualquier lugar y no tiene ninguna dependencia además de un compilador de C ++ estándar. En su uso más simple, todo lo que necesita hacer es agregar una macro al principio de todas las funciones y métodos (o al menos aquellos que desee perfilar).
En el NDK r13b hay una nueva herramienta llamada simpleperf
No es fácil hacer funcionar el perfilador de Android-NDK. Tienes que seguir los pasos here fondo.
Aquí hay algunos consejos que me llevaron al éxito:
- Asegúrese de que su android.mk sea correcto y que exporte el NDK_MODULE_PATH.
Usa correctamente las siguientes funciones
monstartup ("your_lib.so");
moncleanup ();
Si se genera gmon.out ahora, debe extraerlo del dispositivo, pero no a ninguna parte de su PC. Para mí, solo funciona si voy a la carpeta de la aplicación (donde están jni, obj, res y otras carpetas) y lo hago:
consola $ adb pull sdcard / gmon.out
A continuación, ejecute gprof. Intente todas las versiones en sus herramientas de NDK. Para mi solo funcionó uno, este:
consola $ ~ / Bibliotecas / android-ndk-r9 / toolchains / arm-linux-androideabi-4.8 / prebuilt / linux-x86_64 / bin / arm-linux-androideabi-gprof obj / local / armeabi-v7a / libxxxx.so> perfil .TXT