Pregunta

Me comenzó mi emulador con el perfil ./emulator -trace emulator_15 -avd. Entonces rastreado los archivos de seguimiento a ~ / .android / AVD / rodgers_emulator_15.avd / rastros / perfil, donde hay seis archivos: qtrace.bb, qtrace.exc, qtrace.insn, qtrace.method, qtrace.pid, qtrace .estático. No puedo averiguar qué hacer con estos archivos. He intentado tanto dmtracedump y traceview en todos los archivos, pero ninguno parece generar cualquier salida que pueda hacer cualquier cosa con.

¿Cómo puedo ver la proporción de tiempo empleado por las llamadas a métodos nativos en Android?

¿Fue útil?

Solución

Se necesita usar tracedmdump para convertir la salida. Esta es una función de shell define en build/envsetup.sh en las fuentes Android completos. Si está utilizando el SDK, en lugar de construir a partir de un árbol lleno, no estoy seguro de que este trabajo.

(Si usted no tiene las fuentes y desea echar un vistazo a la función tracedmdump, se puede ver que aquí )

Si ha utilizado emulator -trace profile, que había corrido tracedmdump profile. Esto excavar a través de diversos binarios para recuperar información simbólica y asociarlo con los datos de seguimiento, lo que genera un resumen HTML y un archivo de rastreo compatible con traceview.

Vale la pena señalar que la máquina virtual se ejecutará más lentamente con seguimiento permitido (el intérprete tiene sobrecarga en cada llamada al método y el retorno, y que se está ejecutando en el intérprete más lenta "depuración"), mientras que el código nativo sigue funcionando a toda velocidad, así que hay que tener cuidado al sacar conclusiones.

Comentario general:. No se olvide de utilizar F9 o una de las llamadas a métodos para iniciar / detener el trazado - la bandera -trace simplemente activa la función

Otros consejos

Con el fin de utilizar esos seis archivos, hay otras secuencias de comandos en el mismo directorio que el de dmtracedump post_trace como read_pid, read_trace, etc. profile_trace T primero debe ejecutar en el directorio de rastreo que contiene los seis archivos, entonces usted puede utilizar cualquiera de ellos para obtener la información del perfil, tales como la frecuencia con cada uno ejecuta el bloque básicos, los PIDs que pertenecen etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top