strace para llamadas a la biblioteca

14

Sé de strace, que es muy útil para ver las llamadas del sistema. ¿Existe un equivalente que pueda rastrear llamadas a bibliotecas externas?

Por ejemplo, estoy tratando de depurar un comportamiento incorrecto de SSLeay con un binario de terceros para el que no puedo acceder al código (y cuyo desarrollador no responde). Creo que he resuelto el problema, pero no puedo probar esto sin ver exactamente cómo se formatean los datos que se verifican con la firma para enviarlos a SSLeay.

draeath
fuente

Respuestas:

12

ltrace - Un rastreador de llamadas de la biblioteca.

Solo funciona en Linux y en un pequeño subconjunto de arquitecturas. No se rastrearán las llamadas a las bibliotecas dlopen () ed. Más sugerencias de la página de manual y/etc/ltrace.conf

Nikhil Mulley
fuente
3
¿Hay alguna solución disponible para las bibliotecas dlopen () ed?
Draeath
8

A veces ltrace funciona. En general, esto requiere un depurador como GDB . Puede tener una idea de qué funciones colocar puntos de rastreo o puntos de ruptura mirando la estructura de la llamada en el desensamblaje ( objdump -d /path/to/executable).

Gilles 'SO- deja de ser malvado'
fuente