systemadmin.es > strace

Hookeando funciones de librerías (y acertar la función a hookear)

Ejecutando un programa, cargaba una librería que introducía tiempos muertos en medio de la ejecución del proceso. Con strace vemos:

$ strace ./Sample1
(...)
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({10, 0},

Así que me propuse eliminar estos retardos hookeando la función con LD_PRELOAD

[...]
Leer mas »

Resumen de llamadas al sistema con strace

Mediante la herramienta strace podemos seguir las llamadas al sistema y las señales recibidas de los procesos. En alguna ocasión nos puede interesar ver el conjunto en lugar de las llamadas individuales para hacernos una idea del conjunto y no de una ejecución concreta.

[...]
Leer mas »

cripto02 de la Campus Party Valencia 2010

A principios de agosto se publicaron unos niveles de la Campus Party de Valencia 2010 que no se resolvieron a tiempo:

Por lo que me miré el fichero para Linux, sin poder llegar a resolverlo.

[...]
Leer mas »

Seguir las llamadas a sistema relacionadas con comunicación por red con strace

Anteriormente ya hemos hablado como usar strace para seguir las llamadas a sistema de un proceso, incluso un subconjunto concreto de ellas. Hoy vamos a ver como seguir una clase concreta de llamadas: las relacionadas con comunicación por red.

[...]
Leer mas »

Seguir una llamada a sistema concreta con strace

Cuando se deben resolver problemas extraños con el sistema se suele recurrir a strace para ver que esta ocurriendo. El principal inconveniente de strace es que da mucha información, lo cual puede llegar a despistar más que ayudar. Vamos a ver como seguir una llamada concreta al sistema.

[...]
Leer mas »