He estado luchando con un problema muy extraño. Estoy tratando de usar libgmalloc (por ejemplo por man 3 libgmalloc
) en Big Sur (estoy en 11.3.1) para solucionar un problema de memoria en mi código. Sin embargo, no puedo establecer la variable de entorno DYLD_INSERT_LIBRARIES. Se establece como una variable de shell, pero no como una variable de entorno que pueda ser vista por los procesos hijos:
stuarts@iMac-Pro ~ % export DYLD_INSERT_LIBRARIES="/usr/lib/libgmalloc.dylib"
stuarts@iMac-Pro ~ % echo $DYLD_INSERT_LIBRARIES
/usr/lib/libgmalloc.dylib
stuarts@iMac-Pro ~ % env |grep DYLD_INSERT_LIBRARIES
stuarts@iMac-Pro ~ %
La variable no aparece en el listado env (y tampoco es detectada por mi programa usando getenv()). Empecé a jugar con la configuración de otras variables de nombre aleatorio, y descubrí que puedo exportar "DYLD" y "A_B", pero no "DYLD_A" (u otras cosas que empiezan por "DYLD_").
Esto parece un filtro silencioso extremadamente extraño en la exportación.
¿Cómo se debe utilizar libgmalloc en Big Sur?