Cómo depurar problemas de malloc
El método consiste en registrar la pila de llamadas cada vez que se llama a malloc y realizar las comprobaciones de seguridad pertinentes (haga marcas específicas al principio y al final cuando llame gratis, verifique si la marca ha sido pisoteada). , Se informará un error en el propio Android. Mecanismo de depuración centralizado integrado. El código está en bionic/libc/bionic/malloc_debug_common.c/h/cpp, que se puede controlar mediante atributos: setprop libc.debug.malloc 0: esto es. el nivel predeterminado, solo se realiza el juicio más básico setprop libc.debug .malloc 1: esto registrará la pila de llamadas en malloc, utilizado para analizar pérdidas de memoria setprop libc.debug.malloc 5: se completará un patrón fijo después de la aplicación , utilizado para comprobar si se accede a setprop fuera de los límites libc.debug.malloc 10: agrega el encabezado foot/head, registra la pila de llamadas setprop persist.libc.debug.malloc 15: el nivel de depuración agregado por MTK registrará la pila de llamadas, y se almacena en otros lugares para evitar ser pisoteado setprop persist.libc.debug.malloc 16: la depuración agregada por el nivel MTK, incluido debug15, y también admite la depuración del montón dvm setprop libc.debug.malloc 20: uso del simulador