GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Comando 11 Strace con esempio in Linux

Strace è uno strumento di utilità della riga di comando di debug molto potente che aiuta a risolvere i problemi monitorando le chiamate di sistema e i segnali del programma specifico. Nel caso in cui non abbiamo codice sorgente disponibile, strace può essere utilizzato per analizzare come un programma interagisce con il sistema. In questo articolo, discuteremo alcuni importanti comandi strace per la risoluzione dei problemi e il debug di programmi e processi in Linux.

Installazione

L'installazione di strumenti di utilità strace è un processo semplice e diretto. Usa il comando seguente per installare l'applicazione secondo la tua distribuzione Linux.

Debian/Ubuntu

$ sudo apt install strace

RedHat/CentOS

$ yum install strace

Verifica l'installazione eseguendo il comando seguente

$ strace -V

Uscita:

1.Traccia le chiamate di sistema dei comandi Linux utilizzando strace

Strace è utile durante il tracciamento delle chiamate del sistema di comando di Linux. In questo esempio, un semplice comando pwd viene utilizzato per il tracciamento.

$ strace pwd

Uscita:

2. Reindirizza il registro di traccia in un file

Il registro di traccia delle chiamate di sistema può essere reindirizzato a un file utilizzando il comando strace come:

$ strace -o pwd-log.txt pwd

Usa il comando cat per trovare il contenuto del file come:

$ cat pwd-log.txt

3. Usa strace per stampare il riepilogo delle chiamate di sistema invece del normale output.

L'uso di strace con l'opzione -c consente di stampare il riepilogo del registro. In questo esempio viene presentato un riepilogo del comando linux pwd.

$ strace -c pwd

Uscita:

4. Traccia particolari chiamate di sistema utilizzando strace

Il comando Strace con l'opzione -e e il tipo di traccia (lettura, scrittura) può essere utilizzato per tracciare chiamate di sistema specifiche. In questo esempio, la chiamata di sistema di scrittura viene tracciata per il comando pwd.

$ strace -e trace=write pwd

Uscita:

5. Comando Strace per stampare il timestamp di ogni chiamata di sistema.

Il comando Strace con l'opzione -r può essere utilizzato per stampare tutti i timestamp relativi di ogni chiamata di sistema.

$ strace -r pwd

Uscita:

6. Tracciamento tramite ID processo

Se c'è qualche processo già in esecuzione nel sistema, le chiamate di sistema possono essere tracciate usando il comando strace con l'opzione -p insieme all'id del processo. In questo esempio, l'id di processo di nginx viene utilizzato per la traccia

Sintassi

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

La traccia può essere interrotta premendo ctrl+c.

7. Comando Strace per stampare l'output di debug

Il comando Strace con l'opzione -d può essere utilizzato per stampare l'output di debug. In questo esempio, per la traccia viene utilizzato un semplice comando Linux pwd.

$ strace -d pwd

Uscita:

8. Comando Strace per stampare il tempo dedicato alle chiamate di sistema.

Il comando Strace con l'opzione -T fornisce il tempo speso per le chiamate di sistema come:

$ strace -T pwd

Uscita:

9. Comando Strace per stampare il puntatore delle istruzioni

Il comando Strace con l'opzione -i stampa il puntatore all'istruzione. In questo esempio, per la traccia viene utilizzato un semplice comando Linux pwd.

$ strace -i pwd

Uscita:

10. Comando Strace per tracciare le chiamate di sistema in base a condizioni specifiche

Il comando Strace può essere utilizzato per tracciare le chiamate di sistema in base a condizioni specifiche come memoria, processo, CPU, ecc. In questo esempio, le chiamate di sistema relative alla gestione della memoria vengono tracciate per un semplice comando Linux pwd.

$ strace -q -e memoria pwd

Uscita:

11. Comando Strace per tracciare le chiamate di sistema relative al segnale

Le chiamate di sistema relative al segnale possono essere tracciate definendo il tipo di traccia nel comando. In questo esempio nc -v -n localhost 80 viene utilizzato per tracciare le chiamate di sistema relative al segnale.

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

Uscita:

Conclusione

In questo articolo, abbiamo imparato cos'è lo strumento di utilità strace e quando può essere utilizzato. Inoltre, ho trattato alcuni importanti comandi strace per la risoluzione dei problemi e il debug di chiamate e processi di sistema.


Ubuntu
  1. Esercitazione sul comando Ping Linux con esempi

  2. Comando sorgente Linux con esempi

  3. Comando dpkg in Linux con esempi

  4. Comando Tee Linux con esempi

  5. Comando JQ in Linux con esempi

Ordina il comando in Linux con esempi

Comando IP Linux con esempi

Comando Df in Linux

Comando data Linux con utilizzi di esempio

w Comando spiegato con esempi in Linux

Comando ssh-keygen spiegato con l'esempio in Linux