GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es el truco LD_PRELOAD?

Si establece LD_PRELOAD a la ruta de un objeto compartido, ese archivo se cargará antes cualquier otra biblioteca (incluido el tiempo de ejecución de C, libc.so ). Así que para ejecutar ls con tu especial malloc() implementación, haz esto:

$ LD_PRELOAD=/path/to/my/malloc.so /bin/ls

Puede anular los símbolos en las bibliotecas estándar creando una biblioteca con los mismos símbolos y especificando la biblioteca en LD_PRELOAD .

Algunas personas lo usan para especificar bibliotecas en ubicaciones no estándar, pero LD_LIBRARY_PATH es mejor para ese propósito.


Con LD_PRELOAD puede dar prioridad a las bibliotecas.

Por ejemplo, puede escribir una biblioteca que implemente malloc y free . Y cargándolos con LD_PRELOAD tu malloc y free se ejecutarán en lugar de los estándar.


Linux
  1. ¿Qué hace que Linux sea el sistema operativo sostenible?

  2. ¿Qué pasó con el espacio libre?

  3. ¿Cuál es el significado de *nix?

  4. ¿Cuál es el concepto de vruntime en CFS?

  5. ¿Qué es un archivo .so.2?

¿Qué es el Shell en Linux?

iptables vs nftables:¿Cuál es la diferencia?

¿Qué es el comando matar en Linux?

¿Qué es la vulnerabilidad de Logjam?

¿Cuál es la diferencia entre la llamada al sistema y la llamada a la biblioteca?

¿Qué es el usuario debian-+?