Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Depuración del uso de memoria nativa

Desinfectante de direcciones: HWASan / ASan

Desarrolladores de la plataforma Android utilizan HWAddressSanitizer (Hwasan) para encontrar errores de memoria en C / C ++.

Puede parpadear prediseñados imágenes Hwasan a dispositivos compatibles de Pixel ci.android.com ( instrucciones de configuración detalladas ).

Desde Android 8.0 (Oreo) también es posible usar ASan para depurar aplicaciones en dispositivos de producción no rooteados. Puede encontrar instrucciones en la wiki de Asan .

Heapprofd

Android 10 es compatible con heapprofd, un generador de perfiles de montón de muestreo de baja sobrecarga. heapprofd le permite atribuir el uso de la memoria nativa a las pilas de llamadas en su programa. Ver heapprofd - Android Montón de perfiles en el sitio de la documentación Perfetto para más información.

Depuración de Malloc

Ver Malloc de depuración yseguimiento de memoria nativa usando libc devoluciones de llamada para una descripción detallada de las opciones disponibles para la depuración de problemas de memoria nativos.

libmemunreachable

Libmemunreachable de Android es un detector de fugas de memoria nativa sin gastos generales. Utiliza un recolector de basura de marca y barrido impreciso que pasa sobre toda la memoria nativa, informando cualquier bloque inalcanzable como fugas. Consulte la documentación de libmemunreachable para las instrucciones de uso.

Ganchos Malloc

Si desea crear sus propias herramientas, la libc de Android también admite la interceptación de todas las asignaciones / llamadas gratuitas que ocurren durante la ejecución del programa. Consulte la documentación de malloc_hooks para las instrucciones de uso.

Estadísticas de malloc

Soportes Android la mallinfo(3) y malloc_info(3) extensiones a <malloc.h> . El malloc_info función está disponible en Android 6.0 (malvavisco) y más alto y su esquema XML está documentado en biónica de <malloc.h> .

Servidor de monitor de depuración de Dalvik

También puede utilizar el Dalvik Debug Monitor de Servidor (DDMS) para obtener una vista gráfica de la producción Malloc depuración.

Para usar DDMS, primero active su IU de memoria nativa:

  1. Abrir ~/.android/ddms.cfg
  2. Agregue la línea: native=true

Al reiniciar DDMS y seleccionar un proceso, puede cambiar a la nueva pestaña de asignación nativa y completarla con una lista de asignaciones. Esto es especialmente útil para depurar pérdidas de memoria.