Inicio > Gestión de procesos > ltrace

ltrace: Rastreo de llamadas a bibliotecas

ltrace es una utilidad utilizada para rastrear y registrar las llamadas a funciones de bibliotecas dinámicas que realiza un programa en ejecución. Permite comprender en detalle qué funciones de biblioteca llama un programa, con qué argumentos y cuáles son los resultados, lo que lo hace útil para la depuración, el análisis de rendimiento y la ingeniería inversa.

Descripción general

ltrace intercepta y muestra las llamadas a funciones de bibliotecas compartidas que utiliza un programa. Esto ayuda enormemente a comprender el comportamiento del programa y a diagnosticar problemas.

Usos principales

  • Depuración de programas
  • Análisis de cuellos de botella de rendimiento
  • Investigación de vulnerabilidades de seguridad
  • Ingeniería inversa

Opciones principales

Las opciones principales de ltrace controlan el método de rastreo, el formato de salida, el filtrado, etc.

Control de rastreo

Salida y filtrado

Comando generado:

Combina los comandos.

Descripción:

`ltrace` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Cómo rastrear las llamadas a bibliotecas de un programa en varios escenarios usando ltrace.

Rastreo básico de llamadas a bibliotecas

ltrace ls

Rastrea las llamadas a bibliotecas del comando 'ls'.

Ver estadísticas de llamadas

ltrace -c ls

Muestra un resumen del número de llamadas y el tiempo de las funciones de biblioteca del comando 'ls'.

Guardar la salida en un archivo

ltrace -o ls_trace.log ls

Guarda los resultados del rastreo del comando 'ls' en el archivo 'ls_trace.log'.

Rastrear solo funciones de biblioteca específicas

ltrace -e 'malloc|free' ls

Rastrea solo las llamadas a las funciones 'malloc' o 'free' del comando 'ls'.

Rastrear hasta los procesos hijos

ltrace -f bash -c "ls"

Cuando se ejecuta 'ls' en el shell 'bash', rastrea las llamadas a bibliotecas tanto de 'bash' como de 'ls'.

Instalación

ltrace puede no estar instalado por defecto en la mayoría de las distribuciones de Linux. Puedes instalarlo usando los siguientes comandos.

Debian/Ubuntu

sudo apt update && sudo apt install ltrace

Instala ltrace en sistemas basados en Debian o Ubuntu.

CentOS/RHEL/Fedora

sudo dnf install ltrace

Instala ltrace en sistemas basados en CentOS, RHEL o Fedora.

Consejos y precauciones

Puntos a tener en cuenta y consejos útiles al usar ltrace.

Sobrecarga de rendimiento

  • ltrace puede ralentizar significativamente la ejecución del programa, por lo que debe usarse con precaución en entornos de producción.

Diferencia con strace

  • ltrace rastrea las llamadas a bibliotecas, mientras que strace rastrea las llamadas al sistema. El uso conjunto de ambas herramientas permite una comprensión más completa del comportamiento del programa.

Binarios enlazados estáticamente

  • ltrace solo es efectivo para programas que dependen de bibliotecas dinámicas. Los binarios enlazados estáticamente no tienen llamadas a bibliotecas, por lo que no pueden ser rastreados por ltrace.

Permisos

  • Puede que necesites permisos de root (sudo) para rastrear procesos de otros usuarios o binarios del sistema.

Comandos de la misma categoría