Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Depuración del uso de memoria nativa

Desinfectante de direcciones: HWASan / ASan

Los desarrolladores de la plataforma Android usan HWAddressSanitizer (HWASan) para encontrar errores de memoria en C / C ++.

Puede flashear imágenes HWASan predefinidas en dispositivos Pixel compatibles desde 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. Consulte heapprofd - Android Heap Profiler en el sitio de documentación de Perfetto para obtener más información.

Depuración de Malloc

Consulte Malloc Debug yNative Memory Tracking usando libc Callbacks para obtener una descripción detallada de las opciones de depuración disponibles para problemas de memoria nativa.

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 por toda la memoria nativa, informando cualquier bloque inalcanzable como fugas. Consulte la documentación de libmemunreachable para obtener instrucciones de uso.

Anzuelos Malloc

Si desea crear sus propias herramientas, la biblioteca 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 obtener instrucciones de uso.

Estadísticas de malloc

Android admite las mallinfo(3) ymalloc_info(3) para <malloc.h> . La función malloc_info está disponible en Android 6.0 (Marshmallow) y superior y su esquema XML está documentado en <malloc.h> .

Servidor de monitor de depuración de Dalvik

También puede utilizar Dalvik Debug Monitor Server (DDMS) para obtener una vista gráfica de la salida de Malloc Debug.

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

  1. Abra ~/.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.