Buscar

9.3. Monitorización de las llamadas a funciones de la biblioteca de la aplicación con ltrace

download PDF

La herramienta ltrace permite supervisar las llamadas de una aplicación a las funciones disponibles en las bibliotecas (objetos compartidos).

Nota

En Red Hat Enterprise Linux 8.0, un problema conocido impide que ltrace rastree archivos ejecutables del sistema. Esta limitación no se aplica a los archivos ejecutables construidos por los usuarios.

Procedimiento

  1. Identifique las bibliotecas y funciones de interés, si es posible.
  2. Inicie ltrace y adjúntelo al programa.

    • Si el programa que desea supervisar no se está ejecutando, inicie ltrace y especifique program:

      $ ltrace -f -l library -e function program
    • Si el programa ya se está ejecutando, busque su id de proceso (pid) y adjunte ltrace a él:

      $ ps -C program
      (...)
      $ ltrace -f -l library -e function program -ppid
    • Utilice las opciones -e, -f y -l para filtrar la salida:

      • Suministre los nombres de las funciones que se mostrarán como function. La opción -e function puede utilizarse varias veces. Si se omite, ltrace muestra las llamadas a todas las funciones.
      • En lugar de especificar funciones, puede especificar bibliotecas completas con la opción -l library opción. Esta opción se comporta de forma similar a la opción -e function opción.
      • Si no desea rastrear ningún proceso o hilo bifurcado, omita la opción -f.

      Consulte la página del manual ltrace(1)_ para más información.

  3. ltrace muestra las llamadas a la biblioteca realizadas por la aplicación.

    En la mayoría de los casos, una aplicación realiza un gran número de llamadas y la salida ltrace se muestra inmediatamente, si no se establece ningún filtro.

  4. ltrace sale cuando el programa se cierra.

    Para terminar la monitorización antes de que el programa rastreado salga, pulse ctrl C.

    • Si ltrace inició el programa, el programa termina junto con ltrace.
    • Si se adjunta ltrace a un programa que ya se está ejecutando, el programa termina junto con ltrace.
  5. Analizar la lista de llamadas a la biblioteca realizadas por la aplicación.

    • Si la aplicación se bloquea, la información importante probablemente esté al final del registro.
    • El resultado contiene mucha información innecesaria. Sin embargo, puede construir un filtro más preciso y repetir el procedimiento.
Nota

Es ventajoso tanto ver la salida como guardarla en un archivo. Para ello, utilice el comando tee:

$ ltrace ... |& tee your_log_file.log

Recursos adicionales

  • La página del manual ltrace(1):

    $ man ltrace
  • Manual del usuario del conjunto de herramientas para desarrolladores de Red Hat
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

© 2024 Red Hat, Inc.