comando ltrace linux

comando ltrace linux
Lo strumento di utilità LTRACE Linux viene utilizzato per intercettare e registrare le chiamate dinamiche alle librerie condivise sul sistema. Lo strumento è utile per la diagnosi e il debug. Utilizza un meccanismo di aggancio della libreria dinamica che lo limita alla visualizzazione di solo chiamate di libreria condivisa in un file o output di errori standard.

Questa guida copre come utilizzare LTRACE e gli esempi di installazione e utilizzo per iniziare.

Installazione di LTRACE in Linux

Per i sistemi Debian, LTRACE viene installato utilizzando APT tramite il comando in basso.

$ sudo apt install ltrace

Per Rhel o CentOS, il comando è:

$ sudo yum installa ltrace

Come usare ltrace

È possibile utilizzare facilmente LTRACE con un programma utilizzando la sintassi di seguito.

$ ltrace [programma] [opzioni]

Ad esempio, creiamo file casuali usando il tocco comanda e usa ltrace per vedere come si comportano.

$ ltrace touch file1.txt 2.txt 3 4

Restituisce solo uno stato di uscita di 0 per dimostrare che i file sono stati creati. Qui, non si stanno verificando molta attività, ma se proviamo a creare un file di archivio in cui sono coinvolte diverse chiamate dinamiche, otterremo maggiori dettagli.

Useremo il -F Flag, che traccia il bambino elabora quando vengono creati dal processo. Iniziamo creando un file di archivio e quindi comprimendolo mentre tracciano i processi del bambino, come nell'immagine seguente.

Con ltrace, il -P l'opzione consente di tracciamento delle chiamate dinamiche di un processo in esecuzione utilizzando il suo ID processo.

$ ltrace -p [Process -id]

Nell'esempio seguente, utilizziamo LTRACE su un processo in esecuzione con un ID di 47168.

IL -R L'opzione LTRACE visualizza il timestamp relativo associato a ciascuna linea di traccia. Ad esempio, quando si utilizza il gatto comando per creare un file, possiamo usare il -R Opzione come nell'output di seguito.

Il timestamp viene visualizzato di seguito dopo l'interrupt. Simile al timestamp relativo è il -T, che aggiunge l'ora del giorno associato a ciascuna linea di traccia. Puoi usare -tt per includere i microsecondi.

Nel nostro caso, stiamo eseguendo un semplice processo LTRACE, ma puoi vedere che il tempo del giorno viene visualizzato a sinistra.

Usa il -S flag per visualizzare le chiamate della libreria e del sistema associate a un processo.

Finora, abbiamo visto come utilizzare LTRACE e visualizzare i risultati sull'output di errori standard. Se è necessario reindirizzare l'output in un file, il -o La bandiera ha le spalle. Ad esempio, per archiviare le chiamate della libreria e del sistema recuperate nell'esempio sopra in un file chiamato Demo1.TXT, Il comando sarà:

$ ltrace -o demo1.txt -s ls

Il file viene creato una volta eseguito LTRACE e, se lo apriamo, vediamo che il contenuto è simile all'esecuzione dello stesso comando nell'output di errori standard. Il reindirizzamento dell'output ai file è un buon modo per archiviare i risultati per riferimento e mantenere il terminale pulito.

A volte è necessario specificare quali chiamate libreria utilizzare con LTRACE. È possibile farlo usando il -e opzione. È solo necessario utilizzare una catena di regole e specificare le regole usando modelli che identificano la libreria Sonames o il Nomi dei simboli. Puoi vedere la pagina manuale per capire di più sul lavoro con una catena di regole e schemi, ma la sintassi generale è la seguente.

$ ltrace -e [catena -rule] [programma]

Sostituisci il catene-rule con il modello e aggiungere il programma per intercettare le chiamate di libreria dinamica; Dovresti essere a posto.

Incartare

Il comando LTRACE Linux è ottimo per l'intercettazione e la registrazione di tutte le chiamate della libreria dinamica sul sistema. Questa guida ha coperto i diversi modi di utilizzare LTRACE usando vari esempi. Usando questa guida, ora puoi facilmente aggirare LTRACE.