GNU/Linux >> Tutoriales Linux >  >> Ubuntu

11 Comando Strace con ejemplo en Linux

Strace es una herramienta de utilidad de línea de comandos de depuración muy poderosa que ayuda a solucionar los problemas al monitorear las llamadas al sistema y las señales del programa específico. En caso de que no dispongamos del código fuente, se puede utilizar strace para analizar cómo interactúa un programa con el sistema. En este artículo, analizaremos algunos comandos de strace importantes para solucionar problemas y depurar programas y procesos en Linux.

Instalación

La instalación de las herramientas de utilidad de strace es un proceso sencillo y sencillo. Use el siguiente comando para instalar la aplicación según su distribución de Linux.

Debian/Ubuntu

$ sudo apt install strace

RedHat/CentOS

$ yum install strace

Verifique la instalación ejecutando el siguiente comando

$ strace -V

Salida:

1. Rastree las llamadas del sistema Linux Command usando strace

Strace es útil al rastrear las llamadas al sistema de comandos de Linux. En este ejemplo, un comando simple pwd se utiliza para rastrear.

$ strace pwd

Salida:

2. Redirigir el registro de seguimiento en un archivo

El registro de seguimiento de llamadas del sistema se puede redirigir a un archivo usando el comando strace como:

$ strace -o pwd-log.txt pwd

Use el comando cat para encontrar el contenido del archivo como:

$ cat pwd-log.txt

3. Use strace para imprimir el resumen de llamadas del sistema en lugar de la salida normal.

El uso de strace con la opción -c permite imprimir el resumen del registro. En este ejemplo, se presenta un resumen del comando de Linux pwd.

$ strace -c pwd

Salida:

4. Rastree llamadas de sistema particulares usando strace

El comando Strace con la opción -e y el tipo de rastreo (lectura, escritura) se pueden usar para rastrear llamadas específicas del sistema. En este ejemplo, se rastrea la llamada del sistema de escritura para el comando pwd.

$ strace -e trace=write pwd

Salida:

5. Comando Strace para imprimir la marca de tiempo de cada llamada al sistema.

El comando Strace con la opción -r se puede usar para imprimir todas las marcas de tiempo relativas de cada llamada al sistema.

$ strace -r pwd

Salida:

6. Rastreo usando ID de proceso

Si ya hay algún proceso ejecutándose en el sistema, las llamadas al sistema se pueden rastrear usando el comando strace con la opción -p junto con la identificación del proceso. En este ejemplo, la identificación del proceso de nginx se usa para rastrear

Sintaxis

$ strace -p <process id>
$ strace -p 12842

El rastreo se puede detener presionando ctrl+c.

7. Comando Strace para imprimir la salida de depuración

El comando Strace con la opción -d se puede usar para imprimir la salida de depuración. En este ejemplo, se usa un comando simple de Linux pwd para rastrear.

$ strace -d pwd

Salida:

8. Comando Strace para imprimir el tiempo dedicado a las llamadas al sistema.

El comando Strace con la opción -T proporciona el tiempo dedicado a las llamadas al sistema como:

$ strace -T pwd

Salida:

9. Comando Strace para imprimir puntero de instrucción

Comando Strace con la opción -i imprime el puntero de instrucción. En este ejemplo, se usa un comando simple de Linux pwd para rastrear.

$ strace -i pwd

Salida:

10. Comando Strace para rastrear llamadas al sistema según una condición específica

El comando Strace se puede usar para rastrear llamadas al sistema en función de condiciones específicas, como memoria, proceso, CPU, etc. En este ejemplo, las llamadas al sistema relacionadas con la administración de memoria se rastrean para un comando simple de Linux pwd.

$ strace -q -e contraseña de memoria

Salida:

11. Comando Strace para rastrear llamadas al sistema relacionadas con la señal

Las llamadas al sistema relacionadas con la señal se pueden rastrear definiendo el tipo de rastreo en el comando. En este ejemplo nc -v -n localhost 80 se utiliza para rastrear llamadas al sistema relacionadas con la señal.

$ strace -e trace=signal nc -v -n 127.0.0.1 80

Salida:

Conclusión

En este artículo, aprendimos qué es la herramienta de utilidad strace y cuándo se puede usar. Además, he cubierto algunos comandos importantes de strace para solucionar problemas y depurar llamadas y procesos del sistema.


Ubuntu
  1. Tutorial del comando Ping de Linux con ejemplos

  2. Comando fuente de Linux con ejemplos

  3. Comando dpkg en Linux con ejemplos

  4. Comando Linux Tee con ejemplos

  5. Comando JQ en Linux con ejemplos

Ordenar comando en Linux con ejemplos

Comando IP de Linux con ejemplos

Comando Df en Linux

Comando de fecha de Linux con usos de ejemplo

w Comando explicado con ejemplos en Linux

Comando ssh-keygen explicado con un ejemplo en Linux